diff options
author | David S. Miller <davem@sunset.davemloft.net> | 2007-07-30 03:17:12 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-07-30 03:27:38 -0400 |
commit | c1f193a7aed1b468617bb26075777c0c2f4f597a (patch) | |
tree | 3668a8fe9105cfcc0d52a47dd57068ab753a433e /arch/sparc64/mm | |
parent | f623f388e4f83c01ac23f228247a6a4b9cc71111 (diff) |
[SPARC64]: Fix show_stack() when stack argument is NULL.
It didn't handle that case at all, and now dump_stack()
can be implemented directly as show_stack(current, NULL)
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/mm')
-rw-r--r-- | arch/sparc64/mm/fault.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/arch/sparc64/mm/fault.c b/arch/sparc64/mm/fault.c index 17123e9ecf78..9f7740eee8d2 100644 --- a/arch/sparc64/mm/fault.c +++ b/arch/sparc64/mm/fault.c | |||
@@ -112,15 +112,12 @@ static void __kprobes unhandled_fault(unsigned long address, | |||
112 | 112 | ||
113 | static void bad_kernel_pc(struct pt_regs *regs, unsigned long vaddr) | 113 | static void bad_kernel_pc(struct pt_regs *regs, unsigned long vaddr) |
114 | { | 114 | { |
115 | unsigned long *ksp; | ||
116 | |||
117 | printk(KERN_CRIT "OOPS: Bogus kernel PC [%016lx] in fault handler\n", | 115 | printk(KERN_CRIT "OOPS: Bogus kernel PC [%016lx] in fault handler\n", |
118 | regs->tpc); | 116 | regs->tpc); |
119 | printk(KERN_CRIT "OOPS: RPC [%016lx]\n", regs->u_regs[15]); | 117 | printk(KERN_CRIT "OOPS: RPC [%016lx]\n", regs->u_regs[15]); |
120 | print_symbol("RPC: <%s>\n", regs->u_regs[15]); | 118 | print_symbol("RPC: <%s>\n", regs->u_regs[15]); |
121 | printk(KERN_CRIT "OOPS: Fault was to vaddr[%lx]\n", vaddr); | 119 | printk(KERN_CRIT "OOPS: Fault was to vaddr[%lx]\n", vaddr); |
122 | __asm__("mov %%sp, %0" : "=r" (ksp)); | 120 | dump_stack(); |
123 | show_stack(current, ksp); | ||
124 | unhandled_fault(regs->tpc, current, regs); | 121 | unhandled_fault(regs->tpc, current, regs); |
125 | } | 122 | } |
126 | 123 | ||