diff options
author | Idan Horowitz <idan.horowitz@gmail.com> | 2023-04-04 14:14:18 +0300 |
---|---|---|
committer | Idan Horowitz <idan.horowitz@gmail.com> | 2023-04-06 20:30:03 +0300 |
commit | db10f201c8dfe9bd1f398a24d417480ec3dd9df6 (patch) | |
tree | 980aa008d696d141d159f67f74819f4910673016 | |
parent | d1082a00b768218f45eb7c1c43e47b5452a5b67f (diff) | |
download | serenity-db10f201c8dfe9bd1f398a24d417480ec3dd9df6.zip |
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.
-rw-r--r-- | Kernel/API/Syscall.h | 2 | ||||
-rw-r--r-- | Kernel/Syscalls/mmap.cpp | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/Kernel/API/Syscall.h b/Kernel/API/Syscall.h index ab74efa75f..246bcf08ad 100644 --- a/Kernel/API/Syscall.h +++ b/Kernel/API/Syscall.h @@ -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) \ diff --git a/Kernel/Syscalls/mmap.cpp b/Kernel/Syscalls/mmap.cpp index 8e66f4ca03..42e56d2edd 100644 --- a/Kernel/Syscalls/mmap.cpp +++ b/Kernel/Syscalls/mmap.cpp @@ -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); |