35 lines
1.4 KiB
Diff
35 lines
1.4 KiB
Diff
|
From 05c29b1e58784c87ecb4ae7b56425af786e1cd05 Mon Sep 17 00:00:00 2001
|
||
|
From: Daan De Meyer <daan.j.demeyer@gmail.com>
|
||
|
Date: Tue, 30 Jul 2024 11:53:32 +0200
|
||
|
Subject: [PATCH] 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.
|
||
|
|
||
|
(cherry picked from commit 0fbb569de1dcc06118dba006cf7a40caf6cd94d0)
|
||
|
|
||
|
Resolves: RHEL-55746
|
||
|
---
|
||
|
src/basic/cgroup-util.c | 6 ++++++
|
||
|
1 file changed, 6 insertions(+)
|
||
|
|
||
|
diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
|
||
|
index 553ee6075a..1fc83a656a 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);
|
||
|
|