1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 07:37:46 +00:00

Kernel: Make munmap more posix compliant

In case someone tries to unmap a not mapped region (fallback) we should
not return an error, but silently do nothing
This commit is contained in:
Hendiadyoin1 2021-02-27 23:15:01 +01:00 committed by Andreas Kling
parent b7f1171a1c
commit eba3fa5e72

View file

@ -494,9 +494,6 @@ KResultOr<int> Process::sys$munmap(Userspace<void*> addr, size_t size)
// Try again while checkin multiple regions at a time // Try again while checkin multiple regions at a time
// slow: without caching // slow: without caching
const auto& regions = space().find_regions_intersecting(range_to_unmap); const auto& regions = space().find_regions_intersecting(range_to_unmap);
// if there still no regions found error out
if (!regions.size())
return EINVAL;
// check if any of the regions is not mmaped, to not accientally // check if any of the regions is not mmaped, to not accientally
// error-out with just half a region map left // error-out with just half a region map left
@ -529,6 +526,7 @@ KResultOr<int> Process::sys$munmap(Userspace<void*> addr, size_t size)
for (auto* new_region : new_regions) { for (auto* new_region : new_regions) {
new_region->map(space().page_directory()); new_region->map(space().page_directory());
} }
return 0; return 0;
} }