diff options
author | Vincent Wen <vincentwenlinux@gmail.com> | 2012-07-19 09:11:16 +0200 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2012-07-19 11:23:44 +0200 |
commit | e909be825212da62433e805f03586015a04f3c78 (patch) | |
tree | 0f6671bda7cd9709bda9c83930271fa947a13132 /arch | |
parent | ca760ca5238c55cd0e29291c63e35ac6634d385f (diff) | |
download | op-kernel-dev-e909be825212da62433e805f03586015a04f3c78.zip op-kernel-dev-e909be825212da62433e805f03586015a04f3c78.tar.gz |
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>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/mips/kernel/traps.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c index ce95f2c..9716f05 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; |