diff options
| author | Mark Johnston <markj@FreeBSD.org> | 2025-01-25 16:17:03 +0000 |
|---|---|---|
| committer | Mark Johnston <markj@FreeBSD.org> | 2025-01-25 16:17:03 +0000 |
| commit | 853cd8723494ccc2e972aaa09e7d04ede1508c95 (patch) | |
| tree | 1f43e3db76f02e145a0fbb017ae4e9fbce95e0bb | |
| parent | 096a5c6cd28c417456d5ce3598be15e6b656af5c (diff) | |
arm64: Clean up usage of the dtrace invop handler
- Don't consume the breakpoint if all invop handlers returned a non-zero
value.
- Fix style nits.
MFC after: 2 weeks
Sponsored by: Innovate UK
| -rw-r--r-- | sys/arm64/arm64/trap.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/sys/arm64/arm64/trap.c b/sys/arm64/arm64/trap.c index 544189964ef0..d612905b77c8 100644 --- a/sys/arm64/arm64/trap.c +++ b/sys/arm64/arm64/trap.c @@ -548,11 +548,10 @@ do_el1h_sync(struct thread *td, struct trapframe *frame) break; case EXCP_BRK: #ifdef KDTRACE_HOOKS - if ((esr & ESR_ELx_ISS_MASK) == 0x40d && \ - dtrace_invop_jump_addr != 0) { - dtrace_invop_jump_addr(frame); + if ((esr & ESR_ELx_ISS_MASK) == 0x40d /* BRK_IMM16_VAL */ && + dtrace_invop_jump_addr != NULL && + dtrace_invop_jump_addr(frame) == 0) break; - } #endif #ifdef KDB kdb_trap(exception, 0, frame); |
