From a784437199c1d8bc8dfe7ae1a017779f48667844 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Thu, 21 May 2026 18:13:22 +0300 Subject: vb add data-driven name-only kind mapping table --- internal/generate/classify.go | 150 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) diff --git a/internal/generate/classify.go b/internal/generate/classify.go index 5660eb1..03205bc 100644 --- a/internal/generate/classify.go +++ b/internal/generate/classify.go @@ -161,7 +161,157 @@ func ClassifyFormat(f *Format) ClassificationResult { // classifyNameOnly handles tracepoints classified by name alone, // independent of any field. +// +// Keep newly-added syscall expansion mappings in this table first to reduce +// switch churn and merge conflicts across incremental tracing phases. +var nameOnlyKindsTable = map[string]TracepointKind{ + "sys_enter_landlock_add_rule": KindFd, + "sys_enter_landlock_restrict_self": KindFd, + + "sys_enter_msgget": KindSysVId, + "sys_enter_semget": KindSysVId, + "sys_enter_shmget": KindSysVId, + "sys_enter_msgsnd": KindSysVOp, + "sys_enter_msgrcv": KindSysVOp, + "sys_enter_msgctl": KindSysVOp, + "sys_enter_semop": KindSysVOp, + "sys_enter_semtimedop": KindSysVOp, + "sys_enter_semctl": KindSysVOp, + "sys_enter_shmat": KindSysVOp, + "sys_enter_shmdt": KindSysVOp, + "sys_enter_shmctl": KindSysVOp, + + "sys_enter_clone": KindProc, + "sys_enter_clone3": KindProc, + "sys_enter_fork": KindProc, + "sys_enter_vfork": KindProc, + "sys_enter_wait4": KindProc, + "sys_enter_waitid": KindProc, + + "sys_enter_bpf": KindBpf, + + "sys_enter_mprotect": KindMem, + "sys_enter_madvise": KindMem, + "sys_enter_pkey_mprotect": KindMem, + "sys_enter_brk": KindMem, + + "sys_enter_pkey_alloc": KindNull, + "sys_enter_pkey_free": KindNull, + "sys_enter_mbind": KindNull, + "sys_enter_set_mempolicy": KindNull, + "sys_enter_get_mempolicy": KindNull, + "sys_enter_set_mempolicy_home_node": KindNull, + "sys_enter_migrate_pages": KindNull, + "sys_enter_move_pages": KindNull, + "sys_enter_mlockall": KindNull, + "sys_enter_munlockall": KindNull, + "sys_enter_process_madvise": KindFd, + "sys_enter_process_mrelease": KindFd, + + "sys_enter_futex": KindFutex, + "sys_enter_futex_wait": KindFutex, + "sys_enter_futex_wake": KindFutex, + "sys_enter_futex_requeue": KindFutex, + "sys_enter_futex_waitv": KindFutex, + + "sys_enter_kill": KindNull, + "sys_enter_prctl": KindPrctl, + "sys_enter_setns": KindFd, + "sys_enter_unshare": KindNull, + + "sys_enter_clock_gettime": KindNull, + "sys_enter_clock_settime": KindNull, + "sys_enter_clock_getres": KindNull, + "sys_enter_clock_adjtime": KindNull, + "sys_enter_gettimeofday": KindNull, + "sys_enter_settimeofday": KindNull, + "sys_enter_time": KindNull, + "sys_enter_times": KindNull, + "sys_enter_adjtimex": KindNull, + "sys_enter_alarm": KindNull, + "sys_enter_getitimer": KindNull, + "sys_enter_setitimer": KindNull, + "sys_enter_timer_create": KindTimerObj, + "sys_enter_timer_settime": KindTimerObj, + "sys_enter_timer_gettime": KindTimerObj, + "sys_enter_timer_getoverrun": KindTimerObj, + "sys_enter_timer_delete": KindTimerObj, + + "sys_enter_getpid": KindNull, + "sys_enter_gettid": KindNull, + "sys_enter_getppid": KindNull, + "sys_enter_getuid": KindNull, + "sys_enter_geteuid": KindNull, + "sys_enter_getgid": KindNull, + "sys_enter_getegid": KindNull, + "sys_enter_getresuid": KindNull, + "sys_enter_getresgid": KindNull, + "sys_enter_getgroups": KindNull, + "sys_enter_setuid": KindNull, + "sys_enter_seteuid": KindNull, + "sys_enter_setgid": KindNull, + "sys_enter_setegid": KindNull, + "sys_enter_setresuid": KindNull, + "sys_enter_setresgid": KindNull, + "sys_enter_setreuid": KindNull, + "sys_enter_setregid": KindNull, + "sys_enter_setfsuid": KindNull, + "sys_enter_setfsgid": KindNull, + "sys_enter_setgroups": KindNull, + "sys_enter_umask": KindNull, + "sys_enter_setsid": KindNull, + "sys_enter_getsid": KindNull, + "sys_enter_setpgid": KindNull, + "sys_enter_getpgid": KindNull, + "sys_enter_getpgrp": KindNull, + "sys_enter_set_tid_address": KindNull, + + "sys_enter_sched_yield": KindNull, + "sys_enter_sched_setaffinity": KindNull, + "sys_enter_sched_getaffinity": KindNull, + "sys_enter_sched_setparam": KindNull, + "sys_enter_sched_getparam": KindNull, + "sys_enter_sched_setscheduler": KindNull, + "sys_enter_sched_getscheduler": KindNull, + "sys_enter_sched_setattr": KindNull, + "sys_enter_sched_getattr": KindNull, + "sys_enter_sched_get_priority_max": KindNull, + "sys_enter_sched_get_priority_min": KindNull, + "sys_enter_sched_rr_get_interval": KindNull, + "sys_enter_getcpu": KindNull, + "sys_enter_getrusage": KindNull, + "sys_enter_getrlimit": KindNull, + "sys_enter_setrlimit": KindNull, + "sys_enter_prlimit64": KindNull, + "sys_enter_getpriority": KindNull, + "sys_enter_setpriority": KindNull, + + "sys_enter_sysinfo": KindNull, + "sys_enter_sysfs": KindNull, + "sys_enter_ustat": KindNull, + "sys_enter_newuname": KindNull, + "sys_enter_sethostname": KindNull, + "sys_enter_setdomainname": KindNull, + "sys_enter_capget": KindNull, + "sys_enter_capset": KindNull, + "sys_enter_personality": KindNull, + "sys_enter_reboot": KindNull, + "sys_enter_restart_syscall": KindNull, + "sys_enter_vhangup": KindNull, + "sys_enter_arch_prctl": KindNull, + "sys_enter_ioperm": KindNull, + "sys_enter_iopl": KindNull, + "sys_enter_modify_ldt": KindNull, + "sys_enter_lsm_get_self_attr": KindNull, + "sys_enter_lsm_set_self_attr": KindNull, + "sys_enter_lsm_list_modules": KindNull, +} + func classifyNameOnly(name string) (ClassificationResult, bool) { + if kind, ok := nameOnlyKindsTable[name]; ok { + return ClassificationResult{Kind: kind}, true + } + switch name { case "sys_enter_open_by_handle_at": return ClassificationResult{Kind: KindOpenByHandleAt}, true -- cgit v1.2.3