From d1082a00b768218f45eb7c1c43e47b5452a5b67f Mon Sep 17 00:00:00 2001 From: Idan Horowitz Date: Tue, 4 Apr 2023 14:13:41 +0300 Subject: [PATCH] Kernel: Mark sys$set_mmap_name as not needing the big lock All accesses to shared mutable data are already serialized behind the process address space spinlock. --- Kernel/API/Syscall.h | 2 +- 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 3b91d57c03..ab74efa75f 100644 --- a/Kernel/API/Syscall.h +++ b/Kernel/API/Syscall.h @@ -157,7 +157,7 @@ enum class NeedsBigProcessLock { S(scheduler_set_parameters, NeedsBigProcessLock::No) \ S(sendfd, NeedsBigProcessLock::No) \ S(sendmsg, NeedsBigProcessLock::Yes) \ - S(set_mmap_name, NeedsBigProcessLock::Yes) \ + S(set_mmap_name, NeedsBigProcessLock::No) \ S(set_thread_name, NeedsBigProcessLock::No) \ S(setegid, NeedsBigProcessLock::No) \ S(seteuid, NeedsBigProcessLock::No) \ diff --git a/Kernel/Syscalls/mmap.cpp b/Kernel/Syscalls/mmap.cpp index 31b84f3ccc..8e66f4ca03 100644 --- a/Kernel/Syscalls/mmap.cpp +++ b/Kernel/Syscalls/mmap.cpp @@ -441,7 +441,7 @@ ErrorOr Process::sys$madvise(Userspace address, size_t size, int ErrorOr Process::sys$set_mmap_name(Userspace 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));