summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVincent Wen <vincentwenlinux@gmail.com>2012-07-19 09:11:16 +0200
committerRalf Baechle <ralf@linux-mips.org>2012-07-19 11:23:44 +0200
commite909be825212da62433e805f03586015a04f3c78 (patch)
tree0f6671bda7cd9709bda9c83930271fa947a13132
parentMIPS: BMIPS: Fix duplicate header inclusion. (diff)
downloadlinux-e909be825212da62433e805f03586015a04f3c78.tar.xz
linux-e909be825212da62433e805f03586015a04f3c78.zip
MIPS: Fix Magic SysRq L kernel crash.
show_backtrace() was passed a NULL pointer which caused paging request fail. Set to current task as other architectures (ARM, etc) do when passed a NULL task pointer. Signed-off-by: Vincent Wen <vincentwenlinux@gmail.com> Cc: linux-mips@linux-mips.org Cc: cernekee@gmail.com Patchwork: https://patchwork.linux-mips.org/patch/3524/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r--arch/mips/kernel/traps.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c
index ce95f2c41f3f..9716f057a77b 100644
--- a/arch/mips/kernel/traps.c
+++ b/arch/mips/kernel/traps.c
@@ -132,6 +132,9 @@ static void show_backtrace(struct task_struct *task, const struct pt_regs *regs)
unsigned long ra = regs->regs[31];
unsigned long pc = regs->cp0_epc;
+ if (!task)
+ task = current;
+
if (raw_show_trace || !__kernel_text_address(pc)) {
show_raw_backtrace(sp);
return;