signal: Always ignore SIGKILL and SIGSTOP sent to the global init
authorEric W. Biederman <ebiederm@xmission.com>
Fri, 20 Jul 2018 00:47:27 +0000 (19:47 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Nov 2019 16:59:52 +0000 (17:59 +0100)
commit09357805c5e563a905a1055507855ef66ee2880b
tree086d41c60ac382e984097ae26a0ff97a2bc334ba
parentee013471266b6fc278eff264ef2979f903a6c502
signal: Always ignore SIGKILL and SIGSTOP sent to the global init

[ 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 <tglx@linutronix.de>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
kernel/signal.c