sparc64: Make corrupted user stacks more debuggable.
authorDavid Miller <davem@redhat.com>
Fri, 26 Oct 2018 03:36:46 +0000 (20:36 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 16 May 2019 17:42:25 +0000 (19:42 +0200)
commit61a92174486e18b8691306a84e87b3cdc214a36e
tree799517359cde942622a18e2ddf40d7705292907d
parent940f6d6fc36d491ad7b15e861d6756c79710a291
sparc64: Make corrupted user stacks more debuggable.

[ Upstream commit 5b4fc3882a649c9411dd0dcad2ddb78e911d340e ]

Right now if we get a corrupted user stack frame we do a
do_exit(SIGILL) which is not helpful.

If under a debugger, this behavior causes the inferior process to
exit.  So the register and other state cannot be examined at the time
of the event.

Instead, conditionally log a rate limited kernel log message and then
force a SIGSEGV.

With bits and ideas borrowed (as usual) from powerpc.

Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
arch/sparc/include/asm/switch_to_64.h
arch/sparc/kernel/process_64.c
arch/sparc/kernel/rtrap_64.S
arch/sparc/kernel/signal32.c
arch/sparc/kernel/signal_64.c