Received: by 2002:a25:7ec1:0:0:0:0:0 with SMTP id z184csp139330ybc; Mon, 18 Nov 2019 22:02:02 -0800 (PST) X-Google-Smtp-Source: APXvYqxkd8KoBckIKWUiyrL53mU98XpwRazXXS+tXA69Qe64dpw9+1TyJhmGShwiFtNu98O5GR1+ X-Received: by 2002:a17:906:8591:: with SMTP id v17mr33033354ejx.185.1574143322841; Mon, 18 Nov 2019 22:02:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1574143322; cv=none; d=google.com; s=arc-20160816; b=CzxRRlT8ZVCgjkMi/eABA+i9ze9tSAi0daY/AD7/xTAnwKYD8VZ7g5TpHlXnbbPO+y FTCj7JtBYiUSTJl6YsltJPYS7yc09uHM4llz/dJH4n3u1zPfFwSrrRzFv7jBLdX68dUw JoqoiXUgPBr6TOeu9grW5UayYAjl1zPlg+l8cb3LJ1EllRPOz+nanTbg/+WSIAxBExhp 3Npy8LFc27h7zhQX43D5IqpRPOn4UlvYFofLP7N9zBKpIhER4L7YRYrcACcbOv0QVfyx g++Iz/9Pm6n+dkmI5mhGjl5e4Rg+9TXiJRV3rGbavO67Z7Gb+DVXsq1NtVS5v88in+tw CIxQ== 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=+wrI4m0/qBIFroWmSQ3av8MmA4nO0n+G7MYl0q9LhvY=; b=c/5W25yiy8ql6C6nGaY/1lBFLk8wtMGfEjOk+Q7d7wrDWob7fy80dx44QW5UAcIYs0 lI5FTMlSvmMrzKEdFW01xvG2IheufwiqoHuIxtK+HRZsLXxQma1CfmdqLJmGHkWGSQK8 2Mn5WAhHP15r2wX3AyBhW5xBrCOBE0qZkYpg3d2YPx7rbxqUpiA9r7qvO5EtgDxT+NAa zaVGJLFW8TYYHoS+6kqyQR+th+J2V9yf/gD5IcHTDWofKUcDL8mWVJaKOh1n0jk8V+H4 yqfJAciuOPzi4q0onuHWa6UKwrRcG0Xi/Z1TDQBk464heaafFMVZD4RmotKd5qXjAzUF nBoA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=mVDylcLy; 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 l5si14808758edb.341.2019.11.18.22.01.32; Mon, 18 Nov 2019 22:02:02 -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=mVDylcLy; 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 S1731285AbfKSFrw (ORCPT + 99 others); Tue, 19 Nov 2019 00:47:52 -0500 Received: from mail.kernel.org ([198.145.29.99]:44120 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730978AbfKSFrp (ORCPT ); Tue, 19 Nov 2019 00:47:45 -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 BFF4F208C3; Tue, 19 Nov 2019 05:47:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1574142464; bh=ZD0xjZxf+rBGGbulxvdMIUcuFcIPAo9Xn7A7JcL8GCg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=mVDylcLy2MzlnRY+QXIbCv4efRawyixXg8KmhEYae5/or1hgNoPRcGIHX4ecqplNs msxKv9VuSaNDRlR1Obdprx0NCJAISRi/jNK9Jtz2FChY166dfrDiTaJxAlai4YPiNS QxGWuKqraTAMUGNEe4R6iFykEiVjAFJRi+IDy+eM= 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.14 091/239] signal: Always ignore SIGKILL and SIGSTOP sent to the global init Date: Tue, 19 Nov 2019 06:18:11 +0100 Message-Id: <20191119051319.779339966@linuxfoundation.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191119051255.850204959@linuxfoundation.org> References: <20191119051255.850204959@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 bb801156628ee..c9b203875001e 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -77,6 +77,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