Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753307AbYKLOGG (ORCPT ); Wed, 12 Nov 2008 09:06:06 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752320AbYKLOFx (ORCPT ); Wed, 12 Nov 2008 09:05:53 -0500 Received: from mx2.redhat.com ([66.187.237.31]:52657 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751654AbYKLOFv (ORCPT ); Wed, 12 Nov 2008 09:05:51 -0500 Date: Wed, 12 Nov 2008 16:05:55 +0100 From: Oleg Nesterov To: sukadev@linux.vnet.ibm.com Cc: "Eric W. Biederman" , Pavel Emelyanov , daniel@hozac.com, Nadia Derbey , serue@us.ibm.com, clg@fr.ibm.com, Containers , sukadev@us.ibm.com, linux-kernel@vger.kernel.org Subject: Re: Signals to cinit Message-ID: <20081112150555.GB13269@redhat.com> References: <20081101180505.GA24268@us.ibm.com> <20081110173839.GA11121@redhat.com> <20081110193228.GA15519@redhat.com> <20081111022405.GB20891@us.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20081111022405.GB20891@us.ibm.com> User-Agent: Mutt/1.5.18 (2008-05-17) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1536 Lines: 39 On 11/10, sukadev@linux.vnet.ibm.com wrote: > > Also, what happens if a fatal signal is first received from a descendant > and while that is still pending, the same signal is received from ancestor > ns ? Won't the second one be ignored by legacy_queue() for the non-rt case ? Please see my another email: We must also change sig_ignored() to drop SIGKILL/SIGSTOP early when it comes from the same ns. Otherwise, it can mask the next SIGKILL from the parent ns. But this perhaps makes sense anyway, even without containers. Currently, when the global init has the pending SIGKILL, we can't trust __wait_event_killable/etc, and this is actually wrong. We can drop other SIG_DFL signals from the same namespace early as well. I seem to already did something like sig_init_ignored(), but I forgot. Or, we can just ignore this (imho) minor problem. The ancestor ns must know it can't reliably kill cinit with (say) SIGTERM. It can be ignored, or it can have have a handler, and it can be lost because SIGTERM is already pending. Only SIGKILL is special. Actually. I personally think that if we manage to achieve that - the sub-namespace can't kill its init - the ancestor can always kill cinit with SIGKILL then imho we should not worry very much about other issues ;) Oleg. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/