|
|
@@ -478,12 +478,19 @@ asmlinkage void __exception do_sp_pc_abort(unsigned long addr,
|
|
|
struct pt_regs *regs)
|
|
|
{
|
|
|
struct siginfo info;
|
|
|
+ struct task_struct *tsk = current;
|
|
|
+
|
|
|
+ if (show_unhandled_signals && unhandled_signal(tsk, SIGBUS))
|
|
|
+ pr_info_ratelimited("%s[%d]: %s exception: pc=%p sp=%p\n",
|
|
|
+ tsk->comm, task_pid_nr(tsk),
|
|
|
+ esr_get_class_string(esr), (void *)regs->pc,
|
|
|
+ (void *)regs->sp);
|
|
|
|
|
|
info.si_signo = SIGBUS;
|
|
|
info.si_errno = 0;
|
|
|
info.si_code = BUS_ADRALN;
|
|
|
info.si_addr = (void __user *)addr;
|
|
|
- arm64_notify_die("", regs, &info, esr);
|
|
|
+ arm64_notify_die("Oops - SP/PC alignment exception", regs, &info, esr);
|
|
|
}
|
|
|
|
|
|
static struct fault_info debug_fault_info[] = {
|