Patch "pid_ns: Sleep in TASK_INTERRUPTIBLE in zap_pid_ns_processes" has been added to the 4.4-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
pid_ns: Sleep in TASK_INTERRUPTIBLE in zap_pid_ns_processes
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
pid_ns-sleep-in-task_interruptible-in-zap_pid_ns_processes.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
b9a985db98961ae1ba0be169f19df1c567e4ffe0Mon Sep 17 00:00:00 2001
From: "Eric W. Biederman" <[email protected]>
Date: Thu, 11 May 2017 18:21:01 -0500
Subject: pid_ns: Sleep in TASK_INTERRUPTIBLE in zap_pid_ns_processes
From: Eric W. Biederman <[email protected]>
commit b9a985db98961ae1ba0be169f19df1c567e4ffe0 upstream.
The code can potentially sleep for an indefinite amount of time in zap_pid_ns_processes triggering the hung task timeout, and increasing the system average. This is undesirable. Sleep with a task state of TASK_INTERRUPTIBLE instead of TASK_UNINTERRUPTIBLE to remove these undesirable side effects.
Apparently under heavy load this has been allowing Chrome to trigger the hung time task timeout error and cause ChromeOS to reboot.
--- kernel/pid_namespace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
kernel/pid_namespace.c +1 -1
@@ -255,7 +255,7 @@ void zap_pid_ns_processes(struct pid_nam* if reparented. */ for (;;) { -set_current_state (TASK_UNINTERRUPTIBLE ); +set_current_state (TASK_INTERRUPTIBLE );if (pid_ns->nr_hashed == init_pids)break ;schedule ();
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/proc-fix-unbalanced-hard-link-numbers.patch queue-4.4/pid_ns-sleep-in-task_interruptible-in-zap_pid_ns_processes.patch queue-4.4/pid_ns-fix-race-between-setns-ed-fork-and-zap_pid_ns_processes.patch