diff --git a/sys/arm64/arm64/trap.c b/sys/arm64/arm64/trap.c --- a/sys/arm64/arm64/trap.c +++ b/sys/arm64/arm64/trap.c @@ -230,6 +230,10 @@ { struct pcb *pcb; + /* Set the fault address to something known when it's not valid */ + if ((esr & ISS_DATA_FnV) != 0) + far = 0; + if (lower) { call_trapsignal(td, SIGBUS, BUS_OBJERR, (void *)far, ESR_ELx_EXCEPTION(frame->tf_esr));