diff options
| author | Paul Buetow <paul@buetow.org> | 2026-05-31 19:33:34 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-05-31 19:33:34 +0300 |
| commit | 7243b7c079f5d63b32e3e8dd639146d2714efa9d (patch) | |
| tree | f6b6ab29ecff9c5e8f5c038a806de8e8df92a5c2 /internal/generate | |
| parent | 63a20d8498bf161d16e8a8c8cc0b096a8355aa6f (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.go | 8 |
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, |
