summary refs log tree commit diff
path: root/arch/sparc/include
diff options
context:
space:
mode:
authorDavid Miller <davem@redhat.com>2018-10-25 20:36:46 -0700
committerDavid S. Miller <davem@davemloft.net>2018-10-26 15:04:41 -0700
commit5b4fc3882a649c9411dd0dcad2ddb78e911d340e (patch)
tree1e4d71d14473c440a48f1fbfdcd465cf478fc2f4 /arch/sparc/include
parentcaf539cd1087f7c36b9c4df271575e9aee49fde5 (diff)
downloadlinux-5b4fc3882a649c9411dd0dcad2ddb78e911d340e.tar.gz
sparc64: Make corrupted user stacks more debuggable.
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>
Diffstat (limited to 'arch/sparc/include')
-rw-r--r--arch/sparc/include/asm/switch_to_64.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/sparc/include/asm/switch_to_64.h b/arch/sparc/include/asm/switch_to_64.h
index 4ff29b1406a9..b1d4e2e3210f 100644
--- a/arch/sparc/include/asm/switch_to_64.h
+++ b/arch/sparc/include/asm/switch_to_64.h
@@ -67,6 +67,7 @@ do {	save_and_clear_fpu();						\
 } while(0)
 
 void synchronize_user_stack(void);
-void fault_in_user_windows(void);
+struct pt_regs;
+void fault_in_user_windows(struct pt_regs *);
 
 #endif /* __SPARC64_SWITCH_TO_64_H */