Received: by 2002:a17:90a:88:0:0:0:0 with SMTP id a8csp8366pja; Fri, 22 Nov 2019 02:43:48 -0800 (PST) X-Google-Smtp-Source: APXvYqyai+48s/9KzwGIe9LcxF+WvwCx5tnbbD9ukpNQHtinihUR3YtgtNd9J2SwjY/5lfAP4Ei6 X-Received: by 2002:aa7:c756:: with SMTP id c22mr218663eds.25.1574419428237; Fri, 22 Nov 2019 02:43:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1574419428; cv=none; d=google.com; s=arc-20160816; b=NCcyUU/uPgYQevsRJJzHr9tNhnkuEdAqiWURNTkfnIdJIdPdkHH2RRvy7GKN/qZ9wX 7O2JS/WV5Uj6FUt4ZVM4gX0/9GQibmeEMnUQedy8uTVVqpYt6QXaPQQ0LC1QwYvmbNmS 2rN3qHygF/tHLC/nzcMrmStQx9UwC4s69jHk1UPO3JAwieug0y90RWlmfgNTBJO2EF+Z FdVjd5757D9r4dNBXAE8aPZ4WCBvBpWCExNtg8zqCbv5otRf1+jIm8qQf+mS76AMQm5e bdKorunm3M1fIwPlG/70yfKnSfZyJXvi8DNoezFSIMaax8E/Cc/B8nEYe/VRoPa+Z76q 85oA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=4JoLbKxoWEFlbsTc5vKXgwkWLdwJ6fbcUgTnyi4wfTY=; b=zbnyJl6NnZCwjDZ6EcoKfdBgrpilbuq8YkkRlKmwgLieBbVaNm6vcyYNgdFckibVCd iY0H9eBzLA5QF5ZsWUBnLKxdkcI4xmBsNqLJb4/p6adndBjhBe3NE7AZeQoGJOQoX5vm DoCxTV0qGwZs9mCNeneOSOzZTSXpaVcBx2BeQDQHRiR0er8WBd1JoKVWeRe3jcEeQpWD BSurynK1ns8uPCkzuvBH9PQowZNWeFY3eQBp7q8karcJWjdfMZZDNLfPrLxwh3RAbY29 qhu6a35NP3KGeip047/JpAqs4jW6QAv6XMlc/clNGncBuZ9ml5ctgEx27LSSJl9St7Ig bFmw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=SD1fsyDk; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id bi3si4280384edb.331.2019.11.22.02.43.23; Fri, 22 Nov 2019 02:43:48 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=SD1fsyDk; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727118AbfKVKlH (ORCPT + 99 others); Fri, 22 Nov 2019 05:41:07 -0500 Received: from mail.kernel.org ([198.145.29.99]:45464 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727102AbfKVKlG (ORCPT ); Fri, 22 Nov 2019 05:41:06 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id C33CC2071F; Fri, 22 Nov 2019 10:41:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1574419265; bh=mGPjGEXeFtYqntBkrRgeMklZjdB5TWfymVfeBoAC8P4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SD1fsyDkDthRKmAV8spIYIlz8JbJyOKvGIp4QhoJNXnOgBPGOKtU5z7Etf4krDIYV iA7T7w8YFnCbqYo2/tYvehiVKoYX121bXsRuRxdunOG1kU3JBwPI2/S403djgRMqrE g1kDbSJHRWNRuKlGwUOQ0/7dZpfmb4SZhRLYCkRk= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Thomas Gleixner , "Eric W. Biederman" , Sasha Levin Subject: [PATCH 4.9 052/222] signal: Always ignore SIGKILL and SIGSTOP sent to the global init Date: Fri, 22 Nov 2019 11:26:32 +0100 Message-Id: <20191122100855.334236731@linuxfoundation.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191122100830.874290814@linuxfoundation.org> References: <20191122100830.874290814@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Eric W. Biederman [ Upstream commit 86989c41b5ea08776c450cb759592532314a4ed6 ] If the first process started (aka /sbin/init) receives a SIGKILL it will panic the system if it is delivered. Making the system unusable and undebugable. It isn't much better if the first process started receives SIGSTOP. So always ignore SIGSTOP and SIGKILL sent to init. This is done in a separate clause in sig_task_ignored as force_sig_info can clear SIG_UNKILLABLE and this protection should work even then. Reviewed-by: Thomas Gleixner Signed-off-by: "Eric W. Biederman" Signed-off-by: Sasha Levin --- kernel/signal.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kernel/signal.c b/kernel/signal.c index 2bb1f9dc86c7d..30914b3c76b21 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -71,6 +71,10 @@ static int sig_task_ignored(struct task_struct *t, int sig, bool force) handler = sig_handler(t, sig); + /* SIGKILL and SIGSTOP may not be sent to the global init */ + if (unlikely(is_global_init(t) && sig_kernel_only(sig))) + return true; + if (unlikely(t->signal->flags & SIGNAL_UNKILLABLE) && handler == SIG_DFL && !(force && sig_kernel_only(sig))) return 1; -- 2.20.1