1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-14 09:14:58 +00:00

Kernel: Mark sys$munmap as not needing the big lock

All accesses to shared mutable data are already serialized behind the
process address space spinlock.
This commit is contained in:
Idan Horowitz 2023-04-04 14:14:18 +03:00
parent d1082a00b7
commit db10f201c8
2 changed files with 2 additions and 2 deletions

View file

@ -130,7 +130,7 @@ enum class NeedsBigProcessLock {
S(mprotect, NeedsBigProcessLock::No) \
S(mremap, NeedsBigProcessLock::Yes) \
S(msync, NeedsBigProcessLock::Yes) \
S(munmap, NeedsBigProcessLock::Yes) \
S(munmap, NeedsBigProcessLock::No) \
S(open, NeedsBigProcessLock::No) \
S(perf_event, NeedsBigProcessLock::Yes) \
S(perf_register_string, NeedsBigProcessLock::Yes) \

View file

@ -470,7 +470,7 @@ ErrorOr<FlatPtr> Process::sys$set_mmap_name(Userspace<Syscall::SC_set_mmap_name_
ErrorOr<FlatPtr> Process::sys$munmap(Userspace<void*> addr, size_t size)
{
VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this);
VERIFY_NO_PROCESS_BIG_LOCK(this);
TRY(require_promise(Pledge::stdio));
TRY(address_space().with([&](auto& space) {
return space->unmap_mmap_range(addr.vaddr(), size);