提交 fb322915 编写于 作者: R Robin Getz 提交者: Bryan Wu

Blackfin arch: fix bug when sending signals with the wrong PC, cause gdb get confused

We need to send signals with the proper PC, or gdb gets
confused, and lots of tests fail. This should fix that.
Signed-off-by: NRobin Getz <robin.getz@analog.com>
Signed-off-by: NBryan Wu <bryan.wu@analog.com>
上级 569a50ca
......@@ -463,18 +463,20 @@ asmlinkage void trap_c(struct pt_regs *fp)
#endif
panic("Kernel exception");
}
/* Ensure that bad return addresses don't end up in an infinite
* loop, due to speculative loads/reads
*/
if (trapnr == VEC_CPLB_I_M)
fp->pc = SAFE_USER_INSTRUCTION;
}
info.si_signo = sig;
info.si_errno = 0;
info.si_addr = (void *)fp->pc;
force_sig_info(sig, &info, current);
/* Ensure that bad return addresses don't end up in an infinite
* loop, due to speculative loads/reads. This needs to be done after
* the signal has been sent.
*/
if (trapnr == VEC_CPLB_I_M && sig != SIGTRAP)
fp->pc = SAFE_USER_INSTRUCTION;
trace_buffer_restore(j);
return;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册