Pārlūkot izejas kodu

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.
Idan Horowitz 2 gadi atpakaļ
vecāks
revīzija
d1082a00b7
2 mainītis faili ar 2 papildinājumiem un 2 dzēšanām
  1. 1 1
      Kernel/API/Syscall.h
  2. 1 1
      Kernel/Syscalls/mmap.cpp

+ 1 - 1
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)                    \

+ 1 - 1
Kernel/Syscalls/mmap.cpp

@@ -441,7 +441,7 @@ ErrorOr<FlatPtr> Process::sys$madvise(Userspace<void*> address, size_t size, int
 
 ErrorOr<FlatPtr> Process::sys$set_mmap_name(Userspace<Syscall::SC_set_mmap_name_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));