summaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2005-06-22 02:16:28 +0200
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-22 04:07:33 +0200
commit77eb65cbc18d86a9c334964ed4c3d178f5560918 (patch)
tree71b151e51625ce541398cac5280f4dd2dae072d4 /arch/s390/kernel
parent[PATCH] s390: #ifdefs in compat_ioctls (diff)
downloadlinux-77eb65cbc18d86a9c334964ed4c3d178f5560918.tar.xz
linux-77eb65cbc18d86a9c334964ed4c3d178f5560918.zip
[PATCH] s390: kernel stack overflow panic
die() doesn't return, therefore print registers and then panic instead. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/s390/kernel')
-rw-r--r--arch/s390/kernel/traps.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/s390/kernel/traps.c b/arch/s390/kernel/traps.c
index 8b90e9528b91..ca34b6f34b38 100644
--- a/arch/s390/kernel/traps.c
+++ b/arch/s390/kernel/traps.c
@@ -668,7 +668,10 @@ asmlinkage void space_switch_exception(struct pt_regs * regs, long int_code)
asmlinkage void kernel_stack_overflow(struct pt_regs * regs)
{
- die("Kernel stack overflow", regs, 0);
+ bust_spinlocks(1);
+ printk("Kernel stack overflow.\n");
+ show_regs(regs);
+ bust_spinlocks(0);
panic("Corrupt kernel stack, can't continue.");
}