From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756588AbdELTdz (ORCPT ); Fri, 12 May 2017 15:33:55 -0400 Received: from bh-25.webhostbox.net ([208.91.199.152]:36656 "EHLO bh-25.webhostbox.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756370AbdELTdx (ORCPT ); Fri, 12 May 2017 15:33:53 -0400 Date: Fri, 12 May 2017 12:33:51 -0700 From: Guenter Roeck To: "Eric W. Biederman" Cc: Vovo Yang , Ingo Molnar , linux-kernel@vger.kernel.org, Linux Containers Subject: Re: [REVIEW][PATCH] pid_ns: Sleep in TASK_INTERRUPTIBLE in zap_pid_ns_processes Message-ID: <20170512193351.GB14843@roeck-us.net> References: <87shkbfggm.fsf@xmission.com> <20170511202104.GA14720@roeck-us.net> <87y3u3axx8.fsf@xmission.com> <20170511224724.GB15676@roeck-us.net> <8760h79e22.fsf@xmission.com> <8760h66wak.fsf@xmission.com> <20170512165214.GA12960@roeck-us.net> <874lwqyo8i.fsf@xmission.com> <87d1bex8mt.fsf_-_@xmission.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87d1bex8mt.fsf_-_@xmission.com> User-Agent: Mutt/1.5.24 (2015-08-30) X-Authenticated_sender: guenter@roeck-us.net X-OutGoing-Spam-Status: No, score=-1.0 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - bh-25.webhostbox.net X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - roeck-us.net X-Get-Message-Sender-Via: bh-25.webhostbox.net: authenticated_id: guenter@roeck-us.net X-Authenticated-Sender: bh-25.webhostbox.net: guenter@roeck-us.net X-Source: X-Source-Args: X-Source-Dir: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, May 12, 2017 at 12:55:22PM -0500, Eric W. Biederman wrote: > Date: Thu, 11 May 2017 18:21:01 -0500 > > 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. > > Reported-by: Vovo Yang > Reported-by: Guenter Roeck Tested-by: Guenter Roeck > Fixes: 6347e9009104 ("pidns: guarantee that the pidns init will be the last pidns process reaped") > Cc: stable@vger.kernel.org > Signed-off-by: "Eric W. Biederman" > --- > > This is what I have queued up posting so it is public knowledge and so > that if anyone can see a flaw it can get fixed. > > kernel/pid_namespace.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/kernel/pid_namespace.c b/kernel/pid_namespace.c > index de461aa0bf9a..6e51b8820495 100644 > --- a/kernel/pid_namespace.c > +++ b/kernel/pid_namespace.c > @@ -277,7 +277,7 @@ void zap_pid_ns_processes(struct pid_namespace *pid_ns) > * if reparented. > */ > for (;;) { > - set_current_state(TASK_UNINTERRUPTIBLE); > + set_current_state(TASK_INTERRUPTIBLE); > if (pid_ns->nr_hashed == init_pids) > break; > schedule(); > -- > 2.10.1 >