summaryrefslogtreecommitdiff
path: root/internal/generate
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-05-31 19:33:34 +0300
committerPaul Buetow <paul@buetow.org>2026-05-31 19:33:34 +0300
commit7243b7c079f5d63b32e3e8dd639146d2714efa9d (patch)
treef6b6ab29ecff9c5e8f5c038a806de8e8df92a5c2 /internal/generate
parent63a20d8498bf161d16e8a8c8cc0b096a8355aa6f (diff)
fix(classify): assign adjtimex to FamilyTime, not Misc
adjtimex(2) and clock_adjtime(2) share one man page: both tune or query the kernel clock (clock_adjtime is adjtimex with an explicit clockid) and return a clock-state code or -1. The syscallFamilies table omitted adjtimex, so it fell through to FamilyMisc while its sibling clock_adjtime was correctly FamilyTime. Add adjtimex -> FamilyTime and move it from Misc to Time in the tracing plan; regenerate the family maps (trace IDs 418/419 now FamilyTime, "adjtimex": "Time"). Kind classification (KindNull/null_event) and the UNCLASSIFIED return (a clock-state code, not a byte count) were already correct. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Diffstat (limited to 'internal/generate')
-rw-r--r--internal/generate/family.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/internal/generate/family.go b/internal/generate/family.go
index 301c638..71f23a9 100644
--- a/internal/generate/family.go
+++ b/internal/generate/family.go
@@ -156,6 +156,14 @@ var syscallFamilies = map[string]SyscallFamily{
"rt_tgsigqueueinfo": FamilySignals, "sigaltstack": FamilySignals,
"tgkill": FamilySignals, "tkill": FamilySignals,
+ // adjtimex(2) and clock_adjtime(2) share one man page: both tune or query
+ // the kernel clock (clock_adjtime is adjtimex with an explicit clockid) and
+ // return a clock-state code (TIME_OK/TIME_INS/...) or -1. adjtimex therefore
+ // belongs in FamilyTime alongside clock_adjtime and the rest of the
+ // gettimeofday/settimeofday/clock_* cluster, not in Misc. The single argument
+ // is a userspace struct timex *, so argument capture is KindNull (null_event)
+ // and the return is UNCLASSIFIED (a state code, not a byte count).
+ "adjtimex": FamilyTime,
"clock_adjtime": FamilyTime, "clock_getres": FamilyTime, "clock_gettime": FamilyTime,
"clock_nanosleep": FamilyTime, "clock_settime": FamilyTime, "getitimer": FamilyTime,
"gettimeofday": FamilyTime, "nanosleep": FamilyTime, "setitimer": FamilyTime,