diff --git a/sys/arm64/arm64/trap.c b/sys/arm64/arm64/trap.c index 1178817108e..3afeb34abd5 100644 --- a/sys/arm64/arm64/trap.c +++ b/sys/arm64/arm64/trap.c @@ -131,6 +131,7 @@ call_trapsignal(struct thread *td, int sig, int code, void *addr, int trapno) ksi.ksi_code = code; ksi.ksi_addr = addr; ksi.ksi_trapno = trapno; + ksi.ksi_flags |= KSI_EXCEPT; trapsignal(td, &ksi); } diff --git a/sys/sys/signalvar.h b/sys/sys/signalvar.h index 8f181b7beee..9a4009d269a 100644 --- a/sys/sys/signalvar.h +++ b/sys/sys/signalvar.h @@ -237,6 +237,7 @@ typedef struct ksiginfo { #define KSI_SIGQ 0x08 /* Generated by sigqueue, might ret EAGAIN. */ #define KSI_HEAD 0x10 /* Insert into head, not tail. */ #define KSI_PTRACE 0x20 /* Generated by ptrace. */ +#define KSI_EXCEPT 0x40 /* Generated by an exception. */ #define KSI_COPYMASK (KSI_TRAP | KSI_SIGQ | KSI_PTRACE) #define KSI_ONQ(ksi) ((ksi)->ksi_sigq != NULL)