From 1dc64ec0641ac5a6cd9d6a774602bb0ebcde9cde Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Fri, 3 Jan 2020 12:58:59 +0100 Subject: [PATCH] Kernel: Remove unnecessary logic in kill() and killpg() syscalls As Sergey pointed out, do_killpg() already interprets PID 0 as the PGID of the calling process. --- Kernel/Process.cpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/Kernel/Process.cpp b/Kernel/Process.cpp index 5a4ea76001..80cd27a945 100644 --- a/Kernel/Process.cpp +++ b/Kernel/Process.cpp @@ -1689,8 +1689,6 @@ int Process::sys$killpg(int pgrp, int signum) return -EINVAL; InterruptDisabler disabler; - if (pgrp == 0) - return do_killpg(m_pgid, signum); return do_killpg(pgrp, signum); } @@ -1791,9 +1789,7 @@ int Process::sys$kill(pid_t pid, int signal) { if (signal < 0 || signal >= 32) return -EINVAL; - if (pid == 0) - return do_killpg(m_pgid, signal); - if (pid < 0) + if (pid <= 0) return do_killpg(-pid, signal); if (pid == -1) { // FIXME: Send to all processes.