mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 18:07:34 +00:00
Kernel: Copy Region's "is_mmap" flag when cloning regions for fork()
Otherwise child processes will not be allowed to munmap(), madvise(), etc. on the cloned regions!
This commit is contained in:
parent
8c5cd97b45
commit
5c3c2a9bac
1 changed files with 4 additions and 1 deletions
|
@ -65,7 +65,9 @@ NonnullOwnPtr<Region> Region::clone()
|
||||||
vaddr().get());
|
vaddr().get());
|
||||||
#endif
|
#endif
|
||||||
// Create a new region backed by the same VMObject.
|
// Create a new region backed by the same VMObject.
|
||||||
return Region::create_user_accessible(m_range, m_vmobject, m_offset_in_vmobject, m_name, m_access);
|
auto region = Region::create_user_accessible(m_range, m_vmobject, m_offset_in_vmobject, m_name, m_access);
|
||||||
|
region->set_mmap(m_mmap);
|
||||||
|
return region;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef MM_DEBUG
|
#ifdef MM_DEBUG
|
||||||
|
@ -87,6 +89,7 @@ NonnullOwnPtr<Region> Region::clone()
|
||||||
ASSERT(vmobject().is_anonymous());
|
ASSERT(vmobject().is_anonymous());
|
||||||
clone_region->set_stack(true);
|
clone_region->set_stack(true);
|
||||||
}
|
}
|
||||||
|
clone_region->set_mmap(m_mmap);
|
||||||
return clone_region;
|
return clone_region;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue