void arm64_notify_segfault(unsigned long addr);
 void arm64_force_sig_fault(int signo, int code, void __user *addr, const char *str);
 void arm64_force_sig_mceerr(int code, void __user *addr, short lsb, const char *str);
+void arm64_force_sig_ptrace_errno_trap(int errno, void __user *addr, const char *str);
 
 /*
  * Move regs->pc to next instruction and do necessary setup before it
 
                                break;
                        }
                }
-               force_sig_ptrace_errno_trap(si_errno, (void __user *)bkpt->trigger);
+               arm64_force_sig_ptrace_errno_trap(si_errno,
+                                                 (void __user *)bkpt->trigger,
+                                                 desc);
        }
 #endif
        arm64_force_sig_fault(SIGTRAP, TRAP_HWBKPT,
 
        force_sig_mceerr(code, addr, lsb, current);
 }
 
+void arm64_force_sig_ptrace_errno_trap(int errno, void __user *addr,
+                                      const char *str)
+{
+       arm64_show_signal(SIGTRAP, str);
+       force_sig_ptrace_errno_trap(errno, addr);
+}
+
 void arm64_notify_die(const char *str, struct pt_regs *regs,
                      int signo, int sicode, void __user *addr,
                      int err)