summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Kling <kling@serenityos.org>2023-04-03 18:40:53 +0200
committerAndreas Kling <kling@serenityos.org>2023-04-04 10:33:42 +0200
commit08d79c757a13c88f5525737e74aa62431d6459e7 (patch)
treeeac75599967a43bdaff545368b5e15eb8af3099d
parente71b84228edc3ddd5c0683eeddd5bed3214cd41e (diff)
downloadserenity-08d79c757a13c88f5525737e74aa62431d6459e7.zip
Kernel: Mark sys$killpg as not needing the big lock
Same as sys$kill, nothing here that isn't already protected by existing locks.
-rw-r--r--Kernel/API/Syscall.h2
-rw-r--r--Kernel/Syscalls/kill.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/Kernel/API/Syscall.h b/Kernel/API/Syscall.h
index f87259a7ae..1e80efc73e 100644
--- a/Kernel/API/Syscall.h
+++ b/Kernel/API/Syscall.h
@@ -117,7 +117,7 @@ enum class NeedsBigProcessLock {
S(jail_attach, NeedsBigProcessLock::No) \
S(kill, NeedsBigProcessLock::No) \
S(kill_thread, NeedsBigProcessLock::Yes) \
- S(killpg, NeedsBigProcessLock::Yes) \
+ S(killpg, NeedsBigProcessLock::No) \
S(link, NeedsBigProcessLock::No) \
S(listen, NeedsBigProcessLock::No) \
S(lseek, NeedsBigProcessLock::No) \
diff --git a/Kernel/Syscalls/kill.cpp b/Kernel/Syscalls/kill.cpp
index d9ba3b3d50..fe94832ee4 100644
--- a/Kernel/Syscalls/kill.cpp
+++ b/Kernel/Syscalls/kill.cpp
@@ -134,7 +134,7 @@ ErrorOr<FlatPtr> Process::sys$kill(pid_t pid_or_pgid, int signal)
ErrorOr<FlatPtr> Process::sys$killpg(pid_t pgrp, int signum)
{
- VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this);
+ VERIFY_NO_PROCESS_BIG_LOCK(this);
TRY(require_promise(Pledge::proc));
if (signum < 1 || signum >= 32)
return EINVAL;