diff options
| author | Konrad Witaszczyk <def@FreeBSD.org> | 2025-10-28 16:09:24 +0000 |
|---|---|---|
| committer | Konrad Witaszczyk <def@FreeBSD.org> | 2025-10-29 17:52:42 +0000 |
| commit | 2acdec9e4d915ec61d0ca45b408f9beb7aa4b772 (patch) | |
| tree | 8115a15149bdcbdf317c19f567bc4354cc23e94e | |
| parent | be27c64b3a0150534252a66263703283a79c39a0 (diff) | |
dtrace/arm64: properly traverse the symbol table
LINKER_EACH_FUNCTION_NAMEVAL() stops processing the symbol table if a
callback function returns a non-zero value.
The fbt_provide_module_function() callback should not return 1 when
ignoring symbols. Instead, always return 0, as in dtrace/x86.
Fixes: 30b68ecda84e ("Changes that improve DTrace FBT reliability on freebsd/arm64:")
Reviewed by: markj, oshogbo
Approved by: oshogbo (mentor)
Obtained from: CheriBSD
Differential Revision: https://reviews.freebsd.org/D53399
| -rw-r--r-- | sys/cddl/dev/fbt/aarch64/fbt_isa.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/cddl/dev/fbt/aarch64/fbt_isa.c b/sys/cddl/dev/fbt/aarch64/fbt_isa.c index ffe2f37a6d16..6c789530442d 100644 --- a/sys/cddl/dev/fbt/aarch64/fbt_isa.c +++ b/sys/cddl/dev/fbt/aarch64/fbt_isa.c @@ -104,7 +104,7 @@ fbt_provide_module_function(linker_file_t lf, int symindx, */ if (strcmp(name, "handle_el1h_sync") == 0 || strcmp(name, "do_el1h_sync") == 0) - return (1); + return (0); instr = (uint32_t *)(symval->value); limit = (uint32_t *)(symval->value + symval->size); |
