summaryrefslogtreecommitdiff
path: root/internal/tracepoints
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-05-29 10:26:01 +0300
committerPaul Buetow <paul@buetow.org>2026-05-29 10:26:01 +0300
commit55f52dc3d270bd0edbaa1f338c8798598721e2f1 (patch)
treeddc0a76fceb30fffeb0231fbe2d2dd09a2836767 /internal/tracepoints
parent59451a70fc82b3b6b5522986b08b4c16cda24301 (diff)
codegen: suppress unreachable sys_exit handlers for noreturn syscalls
exit and exit_group never return to userspace, so their sys_exit tracepoints can never fire. The generator previously emitted matching EXIT_RET_EVENT handlers anyway, producing dead code in the generated BPF program. classifySyscall now skips exit-handler emission for noreturn syscalls via isNoreturnSyscall, and the regenerated artifacts drop the sys_exit_exit / sys_exit_exit_group handlers (enter handlers are kept). Tests updated to match the new reality: - TestGenerateExitNoreturnHandlers asserts no exit handler is emitted. - TestClassifySyscallPairEmitsAllFamilies exempts noreturn syscalls from the exit-handler-required assertion while staying strict for all others. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Diffstat (limited to 'internal/tracepoints')
-rw-r--r--internal/tracepoints/generated_tracepoints.go2
1 files changed, 0 insertions, 2 deletions
diff --git a/internal/tracepoints/generated_tracepoints.go b/internal/tracepoints/generated_tracepoints.go
index b1d3ce9..c9495eb 100644
--- a/internal/tracepoints/generated_tracepoints.go
+++ b/internal/tracepoints/generated_tracepoints.go
@@ -697,9 +697,7 @@ var List = []string{
"sys_enter_capset",
"sys_exit_capset",
"sys_enter_exit",
- "sys_exit_exit",
"sys_enter_exit_group",
- "sys_exit_exit_group",
"sys_enter_waitid",
"sys_exit_waitid",
"sys_enter_wait4",