Kernel: Mark sys$mremap 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:15:17 +03:00
parent db10f201c8
commit 1dae6a2e4a
2 changed files with 2 additions and 2 deletions

View file

@ -128,7 +128,7 @@ enum class NeedsBigProcessLock {
S(mmap, NeedsBigProcessLock::No) \
S(mount, NeedsBigProcessLock::Yes) \
S(mprotect, NeedsBigProcessLock::No) \
S(mremap, NeedsBigProcessLock::Yes) \
S(mremap, NeedsBigProcessLock::No) \
S(msync, NeedsBigProcessLock::Yes) \
S(munmap, NeedsBigProcessLock::No) \
S(open, NeedsBigProcessLock::No) \

View file

@ -480,7 +480,7 @@ ErrorOr<FlatPtr> Process::sys$munmap(Userspace<void*> addr, size_t size)
ErrorOr<FlatPtr> Process::sys$mremap(Userspace<Syscall::SC_mremap_params const*> user_params)
{
VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this);
VERIFY_NO_PROCESS_BIG_LOCK(this);
TRY(require_promise(Pledge::stdio));
auto params = TRY(copy_typed_from_user(user_params));