Kernel: munmap() should round up to nearest page size, just like mmap().

The mismatch between the two was causing some trouble if you'd mmap e.g 1KB
and then try to munmap() it. The kernel would whine that it couldn't find
any such mapping (because mmap() actually rounded the 1KB to a 4KB page.)
This commit is contained in:
Andreas Kling 2019-02-17 08:32:08 +01:00
commit 2dc0ef8813
Notes: sideshowbarker 2024-07-19 15:41:30 +09:00

View file

@ -134,6 +134,7 @@ bool Process::deallocate_region(Region& region)
Region* Process::region_from_range(LinearAddress laddr, size_t size)
{
size = PAGE_ROUND_UP(size);
for (auto& region : m_regions) {
if (region->laddr() == laddr && region->size() == size)
return region.ptr();