Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S968667AbdD0MRG (ORCPT ); Thu, 27 Apr 2017 08:17:06 -0400 Received: from userp1040.oracle.com ([156.151.31.81]:16656 "EHLO userp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S968644AbdD0MQ5 (ORCPT ); Thu, 27 Apr 2017 08:16:57 -0400 Date: Thu, 27 Apr 2017 13:16:51 +0100 From: Jamie Iles To: Oleg Nesterov Cc: Jamie Iles , linux-kernel@vger.kernel.org Subject: Re: SIGNAL_UNKILLABLE and init again Message-ID: <20170427121651.wrjgb4juhfyobbpw@cedar> References: <20170425173928.gaubfmxxbbvglnio@cedar> <20170426151857.GA11894@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170426151857.GA11894@redhat.com> User-Agent: Mutt/1.6.2-neo (2016-08-21) X-Source-IP: userv0021.oracle.com [156.151.31.71] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1513 Lines: 39 On Wed, Apr 26, 2017 at 05:18:58PM +0200, Oleg Nesterov wrote: > Hi Jamie, > > On 04/25, Jamie Iles wrote: > > > > Hi Oleg, > > > > I'm back looking at SIGNAL_UNKILLABLE and debugging child reapers again, > > and the current issue is when running code in the target process, > > SIGTRAP firing and that causing SIGNAL_UNKILLABLE protection to be > > removed in force_sig_info(): > > > > if (action->sa.sa_handler == SIG_DFL) > > t->signal->flags &= ~SIGNAL_UNKILLABLE; > > Yes, this is what I meant when I said force_sig_info() needs changes too. > I was going to fix it "tomorrow" but I was distracted and then forgot. > > > @@ -1185,7 +1185,7 @@ force_sig_info(int sig, struct siginfo *info, struct task_struct *t) > > recalc_sigpending_and_wake(t); > > } > > } > > - if (action->sa.sa_handler == SIG_DFL) > > + if (action->sa.sa_handler == SIG_DFL && !t->ptrace) > > t->signal->flags &= ~SIGNAL_UNKILLABLE; > > ret = specific_send_sig_info(sig, info, t); > > spin_unlock_irqrestore(&t->sighand->siglock, flags); > > Not sure, let me think a bit more... and this is not enough anyway. > > perhaps we should start with this simple change, but the "real" fix > needs a lot of cleanups, although I am not sure if we will ever do this. Okay, sounds good. I'm happy to spend more time looking at this if you have suggestions - in the context of namespaces and containers this seems more relevant than when it was just the system init that we were protecting. Jamie