From: Daan De Meyer Date: Tue, 30 Jul 2024 09:53:32 +0000 (+0200) Subject: cgroup-util: Ignore kernel threads in cg_kill_items() X-Git-Tag: v257-rc1~788^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0fbb569de1dcc06118dba006cf7a40caf6cd94d0;p=thirdparty%2Fsystemd.git cgroup-util: Ignore kernel threads in cg_kill_items() Similar to the implementation of cgroup.kill in the kernel, let's skip kernel threads in cg_kill_items() as trying to kill kernel threads as an unprivileged process will fail with EPERM and doesn't do anything when running privileged. --- diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c index 65fbd09159f..c2150c00c6b 100644 --- a/src/basic/cgroup-util.c +++ b/src/basic/cgroup-util.c @@ -369,6 +369,12 @@ static int cg_kill_items( if (set_get(s, PID_TO_PTR(pidref.pid)) == PID_TO_PTR(pidref.pid)) continue; + /* Ignore kernel threads to mimick the behavior of cgroup.kill. */ + if (pidref_is_kernel_thread(&pidref) > 0) { + log_debug("Ignoring kernel thread with pid " PID_FMT " in cgroup '%s'", pidref.pid, path); + continue; + } + if (log_kill) ret_log_kill = log_kill(&pidref, sig, userdata);