diff options
author | Alexander van Heukelum <heukelum@fastmail.fm> | 2008-10-22 14:00:14 +0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-10-22 16:00:26 +0400 |
commit | 871d3779cba18b028e34d0d2f6cc6caae76a97b6 (patch) | |
tree | 858df7bc1f66d47bb6969af31f6c843eb7e361a5 /arch | |
parent | e06ca430c3d0fddbd1c901ab3fb3e1f0bc8a786b (diff) | |
download | linux-871d3779cba18b028e34d0d2f6cc6caae76a97b6.tar.xz |
i386, dumpstack: unify die()
Make i386's die() equal to x86_64's version.
Whitespace-only changes on x86_64, to make it equal to i386's
version. (user_mode and user_mode_vm are equal on x86_64.)
Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kernel/dumpstack_32.c | 10 | ||||
-rw-r--r-- | arch/x86/kernel/dumpstack_64.c | 6 |
2 files changed, 8 insertions, 8 deletions
diff --git a/arch/x86/kernel/dumpstack_32.c b/arch/x86/kernel/dumpstack_32.c index e91ae34f9684..f2046c5752d0 100644 --- a/arch/x86/kernel/dumpstack_32.c +++ b/arch/x86/kernel/dumpstack_32.c @@ -378,15 +378,11 @@ void die(const char *str, struct pt_regs *regs, long err) unsigned long flags = oops_begin(); int sig = SIGSEGV; - if (die_nest_count < 3) { + if (!user_mode_vm(regs)) report_bug(regs->ip, regs); - if (__die(str, regs, err)) - sig = 0; - } else { - printk(KERN_EMERG "Recursive die() failure, output suppressed\n"); - } - + if (__die(str, regs, err)) + sig = 0; oops_end(flags, regs, sig); } diff --git a/arch/x86/kernel/dumpstack_64.c b/arch/x86/kernel/dumpstack_64.c index 831e1e159cb4..28c67aae5562 100644 --- a/arch/x86/kernel/dumpstack_64.c +++ b/arch/x86/kernel/dumpstack_64.c @@ -506,12 +506,16 @@ int __kprobes __die(const char *str, struct pt_regs *regs, long err) return 0; } +/* + * This is gone through when something in the kernel has done something bad + * and is about to be terminated: + */ void die(const char *str, struct pt_regs *regs, long err) { unsigned long flags = oops_begin(); int sig = SIGSEGV; - if (!user_mode(regs)) + if (!user_mode_vm(regs)) report_bug(regs->ip, regs); if (__die(str, regs, err)) |