diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-12-07 13:14:12 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-12-07 13:14:18 +0100 |
commit | f3d607c6b39bd9cb5000e03e2c0dc2afe1241374 (patch) | |
tree | 885b5e0b5bb3d87efc4bfbde69feff2ece32ecac /arch/x86/kernel/dumpstack.c | |
parent | 8055039c2a2454c7159dcbde3161943b757a6e0e (diff) | |
parent | 6ec22f9b037fc0c2e00ddb7023fad279c365324d (diff) | |
download | kernel-crypto-f3d607c6b39bd9cb5000e03e2c0dc2afe1241374.tar.gz kernel-crypto-f3d607c6b39bd9cb5000e03e2c0dc2afe1241374.tar.xz kernel-crypto-f3d607c6b39bd9cb5000e03e2c0dc2afe1241374.zip |
Merge branch 'linus' into x86/urgent
Merge reason: we want to queue up a dependent fix.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/dumpstack.c')
-rw-r--r-- | arch/x86/kernel/dumpstack.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/x86/kernel/dumpstack.c b/arch/x86/kernel/dumpstack.c index 2d8a371d433..b8ce165dde5 100644 --- a/arch/x86/kernel/dumpstack.c +++ b/arch/x86/kernel/dumpstack.c @@ -268,11 +268,12 @@ int __kprobes __die(const char *str, struct pt_regs *regs, long err) show_registers(regs); #ifdef CONFIG_X86_32 - sp = (unsigned long) (®s->sp); - savesegment(ss, ss); - if (user_mode(regs)) { + if (user_mode_vm(regs)) { sp = regs->sp; ss = regs->ss & 0xffff; + } else { + sp = kernel_stack_pointer(regs); + savesegment(ss, ss); } printk(KERN_EMERG "EIP: [<%08lx>] ", regs->ip); print_symbol("%s", regs->ip); |