From d63667dbf1df6ae01c77c9db2d008ecff73b044e Mon Sep 17 00:00:00 2001 From: Idan Horowitz Date: Sat, 16 Dec 2023 13:19:49 +0200 Subject: [PATCH] Kernel: Mark sys$kill_thread as not needing the big process lock This syscall does not access any big process lock protected resources. --- Kernel/API/Syscall.h | 2 +- Kernel/Syscalls/thread.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Kernel/API/Syscall.h b/Kernel/API/Syscall.h index 97e8729b0f..223a816c91 100644 --- a/Kernel/API/Syscall.h +++ b/Kernel/API/Syscall.h @@ -118,7 +118,7 @@ enum class NeedsBigProcessLock { S(jail_create, NeedsBigProcessLock::No) \ S(jail_attach, NeedsBigProcessLock::No) \ S(kill, NeedsBigProcessLock::No) \ - S(kill_thread, NeedsBigProcessLock::Yes) \ + S(kill_thread, NeedsBigProcessLock::No) \ S(killpg, NeedsBigProcessLock::No) \ S(link, NeedsBigProcessLock::No) \ S(listen, NeedsBigProcessLock::No) \ diff --git a/Kernel/Syscalls/thread.cpp b/Kernel/Syscalls/thread.cpp index 5ef2a87aa2..cedb104288 100644 --- a/Kernel/Syscalls/thread.cpp +++ b/Kernel/Syscalls/thread.cpp @@ -169,7 +169,7 @@ ErrorOr Process::sys$join_thread(pid_t tid, Userspace exit_valu ErrorOr Process::sys$kill_thread(pid_t tid, int signal) { - VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this); + VERIFY_NO_PROCESS_BIG_LOCK(this); TRY(require_promise(Pledge::thread)); if (signal < 0 || signal >= NSIG)