git: 853cd8723494 - main - arm64: Clean up usage of the dtrace invop handler
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 25 Jan 2025 17:34:09 UTC
The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=853cd8723494ccc2e972aaa09e7d04ede1508c95 commit 853cd8723494ccc2e972aaa09e7d04ede1508c95 Author: Mark Johnston <markj@FreeBSD.org> AuthorDate: 2025-01-25 16:17:03 +0000 Commit: Mark Johnston <markj@FreeBSD.org> CommitDate: 2025-01-25 16:17:03 +0000 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 --- sys/arm64/arm64/trap.c | 7 +++---- 1 file 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);