OSDN Git Service

MIPS: Fix Magic SysRq L kernel crash.
authorVincent Wen <vincentwenlinux@gmail.com>
Thu, 19 Jul 2012 07:11:16 +0000 (09:11 +0200)
committerRalf Baechle <ralf@linux-mips.org>
Thu, 19 Jul 2012 09:23:44 +0000 (11:23 +0200)
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>
arch/mips/kernel/traps.c

index ce95f2c..9716f05 100644 (file)
@@ -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;