OSDN Git Service

signal/powerpc: On swapcontext failure force SIGSEGV
authorEric W. Biederman <ebiederm@xmission.com>
Wed, 20 Oct 2021 17:43:53 +0000 (12:43 -0500)
committerEric W. Biederman <ebiederm@xmission.com>
Mon, 25 Oct 2021 20:56:29 +0000 (15:56 -0500)
commit83a1f27ad773b1d8f0460d3a676114c7651918cc
tree2006910cad1b0b66d87c2f11c36b9afb4e8fc2a8
parentce0ee4e6ac99606f3945f4d47775544edc3f7985
signal/powerpc: On swapcontext failure force SIGSEGV

If the register state may be partial and corrupted instead of calling
do_exit, call force_sigsegv(SIGSEGV).  Which properly kills the
process with SIGSEGV and does not let any more userspace code execute,
instead of just killing one thread of the process and potentially
confusing everything.

Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: linuxppc-dev@lists.ozlabs.org
History-tree: git://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git
Fixes: 756f1ae8a44e ("PPC32: Rework signal code and add a swapcontext system call.")
Fixes: 04879b04bf50 ("[PATCH] ppc64: VMX (Altivec) support & signal32 rework, from Ben Herrenschmidt")
Link: https://lkml.kernel.org/r/20211020174406.17889-7-ebiederm@xmission.com
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
arch/powerpc/kernel/signal_32.c
arch/powerpc/kernel/signal_64.c