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:
parent
b7f1171a1c
commit
eba3fa5e72
1 changed files with 1 additions and 3 deletions
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue