Kernel: Fix race condition in FileBackedRegion creation

This commit is contained in:
Bananymous 2025-05-30 22:03:03 +03:00
parent 692ba43182
commit 60d1c26114
1 changed files with 1 additions and 3 deletions

View File

@ -27,9 +27,7 @@ namespace Kernel
TRY(region->m_dirty_pages.resize(BAN::Math::div_round_up<size_t>(size, PAGE_SIZE)));
LockGuard _(inode->m_mutex);
if (inode->m_shared_region.valid())
region->m_shared_data = inode->m_shared_region.lock();
else
if (!(region->m_shared_data = inode->m_shared_region.lock()))
{
auto shared_data = TRY(BAN::RefPtr<SharedFileData>::create());
TRY(shared_data->pages.resize(BAN::Math::div_round_up<size_t>(inode->size(), PAGE_SIZE)));