summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-04-11 23:09:58 +0300
committerPaul Buetow <paul@buetow.org>2025-04-11 23:09:58 +0300
commit3877d0b57ebbca789872563dfa0ff3875b4c77bf (patch)
treec6bae410484704c9d3d41acd10910210945ee0c4 /internal
parent629251588a54e4e8badf274952a6f7d0343b1e9f (diff)
add dup3 syscall
Diffstat (limited to 'internal')
-rw-r--r--internal/c/generate_tracepoints_c.raku13
-rw-r--r--internal/c/generated_tracepoints.c502
-rw-r--r--internal/c/types.h13
-rw-r--r--internal/eventloop.go35
-rw-r--r--internal/tracepoints/generated_tracepoints.go2
-rw-r--r--internal/types/generated_types.go59
6 files changed, 388 insertions, 236 deletions
diff --git a/internal/c/generate_tracepoints_c.raku b/internal/c/generate_tracepoints_c.raku
index 1c2bc39..ad8a83b 100644
--- a/internal/c/generate_tracepoints_c.raku
+++ b/internal/c/generate_tracepoints_c.raku
@@ -83,6 +83,16 @@ class FdTracepoint does TracepointTemplate {
}
}
+class Dup3Tracepoint does TracepointTemplate {
+ method generate-bpf-c-tracepoint(%vals --> Str) {
+ my Str $extra = qq:to/BPF_C_CODE/;
+ ev->fd = (__s32)ctx->args[0];
+ ev->flags = (__s32)ctx->args[2];
+ BPF_C_CODE
+ self.template: %vals.append( ( event-struct => 'dup3_event', :$extra ).hash );
+ }
+}
+
class NameTracepoint does TracepointTemplate {
method generate-bpf-c-tracepoint(%vals --> Str) {
my Int \oldname-field-number = %vals<format>.field-number('oldname');
@@ -197,6 +207,7 @@ class Format {
multi method set-format-impl('sys_enter_fcntl', $, $) { $!format-impl = FcntlTracepoint.new }
multi method set-format-impl('sys_enter_dup', 'unsigned int', 'fildes') { $!format-impl = FdTracepoint.new }
multi method set-format-impl('sys_enter_dup2', 'unsigned int', 'oldfd') { $!format-impl = FdTracepoint.new }
+ multi method set-format-impl('sys_enter_dup3', 'unsigned int', 'oldfd') { $!format-impl = Dup3Tracepoint.new }
# Tracepoint groups by arguments
multi method set-format-impl($, Str $type where { $_ eq 'unsigned int' || $_ eq 'unsigned long' || $_ eq 'int' }, 'fd') {
@@ -223,7 +234,7 @@ class Format {
method can-generate returns Bool { so $!format-impl.^can('generate-bpf-c-tracepoint') }
method enter-reject returns Bool { $!format-impl !~~ any(
- FdTracepoint, NameTracepoint, OpenTracepoint, PathnameTracepoint, FcntlTracepoint, NullTracepoint
+ FdTracepoint, NameTracepoint, OpenTracepoint, PathnameTracepoint, FcntlTracepoint, NullTracepoint, Dup3Tracepoint
) }
}
diff --git a/internal/c/generated_tracepoints.c b/internal/c/generated_tracepoints.c
index b68d868..2d26bd1 100644
--- a/internal/c/generated_tracepoints.c
+++ b/internal/c/generated_tracepoints.c
@@ -1,260 +1,259 @@
// Code generated - don't change manually!
-/// Ignoring sys_enter_mlock2 sys_exit_mlock2 as possibly not file I/O related
-/// Ignoring sys_enter_clone sys_exit_clone as possibly not file I/O related
-/// Ignoring sys_enter_connect sys_exit_connect as possibly not file I/O related
-/// Ignoring sys_enter_recvmmsg sys_exit_recvmmsg as possibly not file I/O related
-/// Ignoring sys_enter_sched_get_priority_max sys_exit_sched_get_priority_max as possibly not file I/O related
-/// Ignoring sys_enter_msync sys_exit_msync as possibly not file I/O related
-/// Ignoring sys_enter_kexec_load sys_exit_kexec_load as possibly not file I/O related
-/// Ignoring sys_enter_shmat sys_exit_shmat as possibly not file I/O related
-/// Ignoring sys_enter_semop sys_exit_semop as possibly not file I/O related
-/// Ignoring sys_enter_setregid sys_exit_setregid as possibly not file I/O related
-/// Ignoring sys_enter_futex_requeue sys_exit_futex_requeue as possibly not file I/O related
-/// Ignoring sys_enter_mbind sys_exit_mbind as possibly not file I/O related
-/// Ignoring sys_enter_getresgid sys_exit_getresgid as possibly not file I/O related
-/// Ignoring sys_enter_brk sys_exit_brk as possibly not file I/O related
-/// Ignoring sys_enter_munlock sys_exit_munlock as possibly not file I/O related
-/// Ignoring sys_enter_newuname sys_exit_newuname as possibly not file I/O related
-/// Ignoring sys_enter_getcpu sys_exit_getcpu as possibly not file I/O related
-/// Ignoring sys_enter_recvfrom sys_exit_recvfrom as possibly not file I/O related
-/// Ignoring sys_enter_membarrier sys_exit_membarrier as possibly not file I/O related
-/// Ignoring sys_enter_setns sys_exit_setns as possibly not file I/O related
-/// Ignoring sys_enter_swapoff sys_exit_swapoff as possibly not file I/O related
-/// Ignoring sys_enter_keyctl sys_exit_keyctl as possibly not file I/O related
-/// Ignoring sys_enter_fork sys_exit_fork as possibly not file I/O related
+/// Ignoring sys_enter_seccomp sys_exit_seccomp as possibly not file I/O related
+/// Ignoring sys_enter_mremap sys_exit_mremap as possibly not file I/O related
+/// Ignoring sys_enter_setsid sys_exit_setsid as possibly not file I/O related
/// Ignoring sys_enter_tkill sys_exit_tkill as possibly not file I/O related
-/// Ignoring sys_enter_pause sys_exit_pause as possibly not file I/O related
-/// Ignoring sys_enter_move_mount sys_exit_move_mount as possibly not file I/O related
-/// Ignoring sys_enter_sched_getaffinity sys_exit_sched_getaffinity as possibly not file I/O related
-/// Ignoring sys_enter_userfaultfd sys_exit_userfaultfd as possibly not file I/O related
-/// Ignoring sys_enter_epoll_wait sys_exit_epoll_wait as possibly not file I/O related
-/// Ignoring sys_enter_setresgid sys_exit_setresgid as possibly not file I/O related
-/// Ignoring sys_enter_modify_ldt sys_exit_modify_ldt as possibly not file I/O related
+/// Ignoring sys_enter_process_mrelease sys_exit_process_mrelease as possibly not file I/O related
+/// Ignoring sys_enter_mprotect sys_exit_mprotect as possibly not file I/O related
+/// Ignoring sys_enter_times sys_exit_times as possibly not file I/O related
+/// Ignoring sys_enter_sched_rr_get_interval sys_exit_sched_rr_get_interval as possibly not file I/O related
+/// Ignoring sys_enter_execveat sys_exit_execveat as possibly not file I/O related
+/// Ignoring sys_enter_sendto sys_exit_sendto as possibly not file I/O related
+/// Ignoring sys_enter_exit sys_exit_exit as possibly not file I/O related
+/// Ignoring sys_enter_listmount sys_exit_listmount as possibly not file I/O related
+/// Ignoring sys_enter_rt_sigsuspend sys_exit_rt_sigsuspend as possibly not file I/O related
+/// Ignoring sys_enter_swapon sys_exit_swapon as possibly not file I/O related
+/// Ignoring sys_enter_pidfd_getfd sys_exit_pidfd_getfd as possibly not file I/O related
+/// Ignoring sys_enter_mseal sys_exit_mseal as possibly not file I/O related
+/// Ignoring sys_enter_kexec_load sys_exit_kexec_load as possibly not file I/O related
+/// Ignoring sys_enter_rt_sigreturn sys_exit_rt_sigreturn as possibly not file I/O related
/// Ignoring sys_enter_mlock sys_exit_mlock as possibly not file I/O related
-/// Ignoring sys_enter_getcwd sys_exit_getcwd as possibly not file I/O related
+/// Ignoring sys_enter_geteuid sys_exit_geteuid as possibly not file I/O related
+/// Ignoring sys_enter_iopl sys_exit_iopl as possibly not file I/O related
+/// Ignoring sys_enter_lsm_set_self_attr sys_exit_lsm_set_self_attr as possibly not file I/O related
+/// Ignoring sys_enter_sendmsg sys_exit_sendmsg as possibly not file I/O related
+/// Ignoring sys_enter_pause sys_exit_pause as possibly not file I/O related
+/// Ignoring sys_enter_getpgrp sys_exit_getpgrp as possibly not file I/O related
+/// Ignoring sys_enter_madvise sys_exit_madvise as possibly not file I/O related
+/// Ignoring sys_enter_clock_nanosleep sys_exit_clock_nanosleep as possibly not file I/O related
+/// Ignoring sys_enter_getcpu sys_exit_getcpu as possibly not file I/O related
+/// Ignoring sys_enter_getsockopt sys_exit_getsockopt as possibly not file I/O related
+/// Ignoring sys_enter_unshare sys_exit_unshare as possibly not file I/O related
+/// Ignoring sys_enter_inotify_rm_watch sys_exit_inotify_rm_watch as possibly not file I/O related
/// Ignoring sys_enter_msgrcv sys_exit_msgrcv as possibly not file I/O related
-/// Ignoring sys_enter_shmdt sys_exit_shmdt as possibly not file I/O related
-/// Ignoring sys_enter_timer_getoverrun sys_exit_timer_getoverrun as possibly not file I/O related
-/// Ignoring sys_enter_clock_gettime sys_exit_clock_gettime as possibly not file I/O related
-/// Ignoring sys_enter_reboot sys_exit_reboot as possibly not file I/O related
-/// Ignoring sys_enter_settimeofday sys_exit_settimeofday as possibly not file I/O related
-/// Ignoring sys_enter_mq_notify sys_exit_mq_notify as possibly not file I/O related
-/// Ignoring sys_enter_timer_delete sys_exit_timer_delete as possibly not file I/O related
+/// Ignoring sys_enter_munmap sys_exit_munmap as possibly not file I/O related
+/// Ignoring sys_enter_mbind sys_exit_mbind as possibly not file I/O related
+/// Ignoring sys_enter_setuid sys_exit_setuid as possibly not file I/O related
+/// Ignoring sys_enter_waitid sys_exit_waitid as possibly not file I/O related
/// Ignoring sys_enter_lsm_get_self_attr sys_exit_lsm_get_self_attr as possibly not file I/O related
-/// Ignoring sys_enter_sched_setparam sys_exit_sched_setparam as possibly not file I/O related
-/// Ignoring sys_enter_eventfd2 sys_exit_eventfd2 as possibly not file I/O related
-/// Ignoring sys_enter_sched_rr_get_interval sys_exit_sched_rr_get_interval as possibly not file I/O related
-/// Ignoring sys_enter_splice sys_exit_splice as possibly not file I/O related
-/// Ignoring sys_enter_accept sys_exit_accept as possibly not file I/O related
-/// Ignoring sys_enter_uretprobe sys_exit_uretprobe as possibly not file I/O related
-/// Ignoring sys_enter_setrlimit sys_exit_setrlimit as possibly not file I/O related
-/// Ignoring sys_enter_open_by_handle_at sys_exit_open_by_handle_at as possibly not file I/O related
+/// Ignoring sys_enter_landlock_create_ruleset sys_exit_landlock_create_ruleset as possibly not file I/O related
+/// Ignoring sys_enter_rt_tgsigqueueinfo sys_exit_rt_tgsigqueueinfo as possibly not file I/O related
+/// Ignoring sys_enter_sched_get_priority_min sys_exit_sched_get_priority_min as possibly not file I/O related
+/// Ignoring sys_enter_futex sys_exit_futex as possibly not file I/O related
+/// Ignoring sys_enter_mq_notify sys_exit_mq_notify as possibly not file I/O related
+/// Ignoring sys_enter_wait4 sys_exit_wait4 as possibly not file I/O related
+/// Ignoring sys_enter_fsmount sys_exit_fsmount as possibly not file I/O related
+/// Ignoring sys_enter_set_mempolicy sys_exit_set_mempolicy as possibly not file I/O related
+/// Ignoring sys_enter_futex_wake sys_exit_futex_wake as possibly not file I/O related
/// Ignoring sys_enter_pkey_free sys_exit_pkey_free as possibly not file I/O related
-/// Ignoring sys_enter_nanosleep sys_exit_nanosleep as possibly not file I/O related
-/// Ignoring sys_enter_sched_setscheduler sys_exit_sched_setscheduler as possibly not file I/O related
-/// Ignoring sys_enter_ppoll sys_exit_ppoll as possibly not file I/O related
-/// Ignoring sys_enter_process_madvise sys_exit_process_madvise as possibly not file I/O related
-/// Ignoring sys_enter_times sys_exit_times as possibly not file I/O related
-/// Ignoring sys_enter_msgsnd sys_exit_msgsnd as possibly not file I/O related
-/// Ignoring sys_enter_mremap sys_exit_mremap as possibly not file I/O related
-/// Ignoring sys_enter_getresuid sys_exit_getresuid as possibly not file I/O related
-/// Ignoring sys_enter_shmget sys_exit_shmget as possibly not file I/O related
-/// Ignoring sys_enter_setdomainname sys_exit_setdomainname as possibly not file I/O related
-/// Ignoring sys_enter_getegid sys_exit_getegid as possibly not file I/O related
-/// Ignoring sys_enter_setfsgid sys_exit_setfsgid as possibly not file I/O related
-/// Ignoring sys_enter_shutdown sys_exit_shutdown as possibly not file I/O related
-/// Ignoring sys_enter_futex_wait sys_exit_futex_wait as possibly not file I/O related
-/// Ignoring sys_enter_recvmsg sys_exit_recvmsg as possibly not file I/O related
-/// Ignoring sys_enter_alarm sys_exit_alarm as possibly not file I/O related
-/// Ignoring sys_enter_rt_sigqueueinfo sys_exit_rt_sigqueueinfo as possibly not file I/O related
-/// Ignoring sys_enter_utime sys_exit_utime as possibly not file I/O related
-/// Ignoring sys_enter_getppid sys_exit_getppid as possibly not file I/O related
-/// Ignoring sys_enter_sched_getscheduler sys_exit_sched_getscheduler as possibly not file I/O related
-/// Ignoring sys_enter_setsid sys_exit_setsid as possibly not file I/O related
-/// Ignoring sys_enter_setgroups sys_exit_setgroups as possibly not file I/O related
-/// Ignoring sys_enter_bpf sys_exit_bpf as possibly not file I/O related
-/// Ignoring sys_enter_sched_setattr sys_exit_sched_setattr as possibly not file I/O related
-/// Ignoring sys_enter_mq_timedreceive sys_exit_mq_timedreceive as possibly not file I/O related
-/// Ignoring sys_enter_memfd_create sys_exit_memfd_create as possibly not file I/O related
-/// Ignoring sys_enter_mq_getsetattr sys_exit_mq_getsetattr as possibly not file I/O related
-/// Ignoring sys_enter_process_mrelease sys_exit_process_mrelease as possibly not file I/O related
-/// Ignoring sys_enter_eventfd sys_exit_eventfd as possibly not file I/O related
-/// Ignoring sys_enter_time sys_exit_time as possibly not file I/O related
-/// Ignoring sys_enter_setfsuid sys_exit_setfsuid as possibly not file I/O related
-/// Ignoring sys_enter_munlockall sys_exit_munlockall as possibly not file I/O related
+/// Ignoring sys_enter_set_robust_list sys_exit_set_robust_list as possibly not file I/O related
+/// Ignoring sys_enter_getpgid sys_exit_getpgid as possibly not file I/O related
+/// Ignoring sys_enter_clone3 sys_exit_clone3 as possibly not file I/O related
+/// Ignoring sys_enter_connect sys_exit_connect as possibly not file I/O related
+/// Ignoring sys_enter_futex_requeue sys_exit_futex_requeue as possibly not file I/O related
+/// Ignoring sys_enter_mlock2 sys_exit_mlock2 as possibly not file I/O related
+/// Ignoring sys_enter_exit_group sys_exit_exit_group as possibly not file I/O related
+/// Ignoring sys_enter_clone sys_exit_clone as possibly not file I/O related
+/// Ignoring sys_enter_set_mempolicy_home_node sys_exit_set_mempolicy_home_node as possibly not file I/O related
+/// Ignoring sys_enter_get_robust_list sys_exit_get_robust_list as possibly not file I/O related
+/// Ignoring sys_enter_setitimer sys_exit_setitimer as possibly not file I/O related
+/// Ignoring sys_enter_request_key sys_exit_request_key as possibly not file I/O related
+/// Ignoring sys_enter_pidfd_open sys_exit_pidfd_open as possibly not file I/O related
/// Ignoring sys_enter_socket sys_exit_socket as possibly not file I/O related
-/// Ignoring sys_enter_prlimit64 sys_exit_prlimit64 as possibly not file I/O related
-/// Ignoring sys_enter_getsid sys_exit_getsid as possibly not file I/O related
-/// Ignoring sys_enter_getrlimit sys_exit_getrlimit as possibly not file I/O related
-/// Ignoring sys_enter_mq_open sys_exit_mq_open as possibly not file I/O related
+/// Ignoring sys_enter_personality sys_exit_personality as possibly not file I/O related
+/// Ignoring sys_enter_setgroups sys_exit_setgroups as possibly not file I/O related
+/// Ignoring sys_enter_move_pages sys_exit_move_pages as possibly not file I/O related
+/// Ignoring sys_enter_select sys_exit_select as possibly not file I/O related
+/// Ignoring sys_enter_ioprio_set sys_exit_ioprio_set as possibly not file I/O related
+/// Ignoring sys_enter_statmount sys_exit_statmount as possibly not file I/O related
+/// Ignoring sys_enter_kcmp sys_exit_kcmp as possibly not file I/O related
+/// Ignoring sys_enter_adjtimex sys_exit_adjtimex as possibly not file I/O related
+/// Ignoring sys_enter_userfaultfd sys_exit_userfaultfd as possibly not file I/O related
+/// Ignoring sys_enter_move_mount sys_exit_move_mount as possibly not file I/O related
+/// Ignoring sys_enter_semctl sys_exit_semctl as possibly not file I/O related
+/// Ignoring sys_enter_bind sys_exit_bind as possibly not file I/O related
+/// Ignoring sys_enter_landlock_add_rule sys_exit_landlock_add_rule as possibly not file I/O related
+/// Ignoring sys_enter_open_by_handle_at sys_exit_open_by_handle_at as possibly not file I/O related
+/// Ignoring sys_enter_sethostname sys_exit_sethostname as possibly not file I/O related
+/// Ignoring sys_enter_semop sys_exit_semop as possibly not file I/O related
+/// Ignoring sys_enter_pkey_mprotect sys_exit_pkey_mprotect as possibly not file I/O related
+/// Ignoring sys_enter_getpeername sys_exit_getpeername as possibly not file I/O related
+/// Ignoring sys_enter_utimes sys_exit_utimes as possibly not file I/O related
+/// Ignoring sys_enter_futex_waitv sys_exit_futex_waitv as possibly not file I/O related
+/// Ignoring sys_enter_acct sys_exit_acct as possibly not file I/O related
+/// Ignoring sys_enter_pivot_root sys_exit_pivot_root as possibly not file I/O related
+/// Ignoring sys_enter_name_to_handle_at sys_exit_name_to_handle_at as possibly not file I/O related
+/// Ignoring sys_enter_futex_wait sys_exit_futex_wait as possibly not file I/O related
+/// Ignoring sys_enter_setgid sys_exit_setgid as possibly not file I/O related
+/// Ignoring sys_enter_timer_getoverrun sys_exit_timer_getoverrun as possibly not file I/O related
+/// Ignoring sys_enter_kexec_file_load sys_exit_kexec_file_load as possibly not file I/O related
+/// Ignoring sys_enter_eventfd2 sys_exit_eventfd2 as possibly not file I/O related
+/// Ignoring sys_enter_setregid sys_exit_setregid as possibly not file I/O related
+/// Ignoring sys_enter_shmctl sys_exit_shmctl as possibly not file I/O related
+/// Ignoring sys_enter_setsockopt sys_exit_setsockopt as possibly not file I/O related
/// Ignoring sys_enter_epoll_pwait sys_exit_epoll_pwait as possibly not file I/O related
-/// Ignoring sys_enter_timerfd_settime sys_exit_timerfd_settime as possibly not file I/O related
-/// Ignoring sys_enter_mount sys_exit_mount as possibly not file I/O related
-/// Ignoring sys_enter_inotify_init sys_exit_inotify_init as possibly not file I/O related
-/// Ignoring sys_enter_ioprio_get sys_exit_ioprio_get as possibly not file I/O related
-/// Ignoring sys_enter_mq_unlink sys_exit_mq_unlink as possibly not file I/O related
-/// Ignoring sys_enter_rt_tgsigqueueinfo sys_exit_rt_tgsigqueueinfo as possibly not file I/O related
+/// Ignoring sys_enter_migrate_pages sys_exit_migrate_pages as possibly not file I/O related
+/// Ignoring sys_enter_rt_sigpending sys_exit_rt_sigpending as possibly not file I/O related
+/// Ignoring sys_enter_init_module sys_exit_init_module as possibly not file I/O related
+/// Ignoring sys_enter_getegid sys_exit_getegid as possibly not file I/O related
+/// Ignoring sys_enter_settimeofday sys_exit_settimeofday as possibly not file I/O related
+/// Ignoring sys_enter_timer_delete sys_exit_timer_delete as possibly not file I/O related
+/// Ignoring sys_enter_gettimeofday sys_exit_gettimeofday as possibly not file I/O related
+/// Ignoring sys_enter_signalfd sys_exit_signalfd as possibly not file I/O related
+/// Ignoring sys_enter_set_tid_address sys_exit_set_tid_address as possibly not file I/O related
+/// Ignoring sys_enter_msgsnd sys_exit_msgsnd as possibly not file I/O related
+/// Ignoring sys_enter_signalfd4 sys_exit_signalfd4 as possibly not file I/O related
+/// Ignoring sys_enter_epoll_ctl sys_exit_epoll_ctl as possibly not file I/O related
+/// Ignoring sys_enter_timerfd_gettime sys_exit_timerfd_gettime as possibly not file I/O related
/// Ignoring sys_enter_add_key sys_exit_add_key as possibly not file I/O related
-/// Ignoring sys_enter_swapon sys_exit_swapon as possibly not file I/O related
-/// Ignoring sys_enter_getrusage sys_exit_getrusage as possibly not file I/O related
-/// Ignoring sys_enter_rt_sigtimedwait sys_exit_rt_sigtimedwait as possibly not file I/O related
-/// Ignoring sys_enter_mincore sys_exit_mincore as possibly not file I/O related
+/// Ignoring sys_enter_ioprio_get sys_exit_ioprio_get as possibly not file I/O related
+/// Ignoring sys_enter_recvmmsg sys_exit_recvmmsg as possibly not file I/O related
/// Ignoring sys_enter_restart_syscall sys_exit_restart_syscall as possibly not file I/O related
-/// Ignoring sys_enter_setuid sys_exit_setuid as possibly not file I/O related
-/// Ignoring sys_enter_accept4 sys_exit_accept4 as possibly not file I/O related
-/// Ignoring sys_enter_landlock_restrict_self sys_exit_landlock_restrict_self as possibly not file I/O related
-/// Ignoring sys_enter_setgid sys_exit_setgid as possibly not file I/O related
-/// Ignoring sys_enter_iopl sys_exit_iopl as possibly not file I/O related
-/// Ignoring sys_enter_mknod sys_exit_mknod as possibly not file I/O related
-/// Ignoring sys_enter_futex_waitv sys_exit_futex_waitv as possibly not file I/O related
-/// Ignoring sys_enter_setsockopt sys_exit_setsockopt as possibly not file I/O related
-/// Ignoring sys_enter_semget sys_exit_semget as possibly not file I/O related
-/// Ignoring sys_enter_tee sys_exit_tee as possibly not file I/O related
-/// Ignoring sys_enter_getsockopt sys_exit_getsockopt as possibly not file I/O related
-/// Ignoring sys_enter_clock_nanosleep sys_exit_clock_nanosleep as possibly not file I/O related
-/// Ignoring sys_enter_rt_sigaction sys_exit_rt_sigaction as possibly not file I/O related
-/// Ignoring sys_enter_ioprio_set sys_exit_ioprio_set as possibly not file I/O related
+/// Ignoring sys_enter_newuname sys_exit_newuname as possibly not file I/O related
/// Ignoring sys_enter_memfd_secret sys_exit_memfd_secret as possibly not file I/O related
-/// Ignoring sys_enter_mq_timedsend sys_exit_mq_timedsend as possibly not file I/O related
-/// Ignoring sys_enter_utimes sys_exit_utimes as possibly not file I/O related
+/// Ignoring sys_enter_recvmsg sys_exit_recvmsg as possibly not file I/O related
+/// Ignoring sys_enter_shmdt sys_exit_shmdt as possibly not file I/O related
/// Ignoring sys_enter_sysfs sys_exit_sysfs as possibly not file I/O related
-/// Ignoring sys_enter_getitimer sys_exit_getitimer as possibly not file I/O related
-/// Ignoring sys_enter_epoll_pwait2 sys_exit_epoll_pwait2 as possibly not file I/O related
-/// Ignoring sys_enter_poll sys_exit_poll as possibly not file I/O related
-/// Ignoring sys_enter_landlock_add_rule sys_exit_landlock_add_rule as possibly not file I/O related
+/// Ignoring sys_enter_setresgid sys_exit_setresgid as possibly not file I/O related
/// Ignoring sys_enter_map_shadow_stack sys_exit_map_shadow_stack as possibly not file I/O related
-/// Ignoring sys_enter_sendmsg sys_exit_sendmsg as possibly not file I/O related
-/// Ignoring sys_enter_vfork sys_exit_vfork as possibly not file I/O related
-/// Ignoring sys_enter_timer_gettime sys_exit_timer_gettime as possibly not file I/O related
-/// Ignoring sys_enter_pidfd_open sys_exit_pidfd_open as possibly not file I/O related
-/// Ignoring sys_enter_setitimer sys_exit_setitimer as possibly not file I/O related
-/// Ignoring sys_enter_sethostname sys_exit_sethostname as possibly not file I/O related
-/// Ignoring sys_enter_setpriority sys_exit_setpriority as possibly not file I/O related
+/// Ignoring sys_enter_mount sys_exit_mount as possibly not file I/O related
+/// Ignoring sys_enter_clock_adjtime sys_exit_clock_adjtime as possibly not file I/O related
+/// Ignoring sys_enter_ioperm sys_exit_ioperm as possibly not file I/O related
+/// Ignoring sys_enter_shmget sys_exit_shmget as possibly not file I/O related
+/// Ignoring sys_enter_clock_settime sys_exit_clock_settime as possibly not file I/O related
+/// Ignoring sys_enter_eventfd sys_exit_eventfd as possibly not file I/O related
+/// Ignoring sys_enter_rseq sys_exit_rseq as possibly not file I/O related
+/// Ignoring sys_enter_umount sys_exit_umount as possibly not file I/O related
+/// Ignoring sys_enter_getgid sys_exit_getgid as possibly not file I/O related
+/// Ignoring sys_enter_timerfd_create sys_exit_timerfd_create as possibly not file I/O related
/// Ignoring sys_enter_fanotify_init sys_exit_fanotify_init as possibly not file I/O related
-/// Ignoring sys_enter_mseal sys_exit_mseal as possibly not file I/O related
-/// Ignoring sys_enter_clock_getres sys_exit_clock_getres as possibly not file I/O related
-/// Ignoring sys_enter_execveat sys_exit_execveat as possibly not file I/O related
-/// Ignoring sys_enter_sched_get_priority_min sys_exit_sched_get_priority_min as possibly not file I/O related
/// Ignoring sys_enter_sched_getattr sys_exit_sched_getattr as possibly not file I/O related
-/// Ignoring sys_enter_sendfile64 sys_exit_sendfile64 as possibly not file I/O related
-/// Ignoring sys_enter_get_mempolicy sys_exit_get_mempolicy as possibly not file I/O related
+/// Ignoring sys_enter_setdomainname sys_exit_setdomainname as possibly not file I/O related
+/// Ignoring sys_enter_mknod sys_exit_mknod as possibly not file I/O related
+/// Ignoring sys_enter_modify_ldt sys_exit_modify_ldt as possibly not file I/O related
+/// Ignoring sys_enter_shutdown sys_exit_shutdown as possibly not file I/O related
+/// Ignoring sys_enter_rt_sigqueueinfo sys_exit_rt_sigqueueinfo as possibly not file I/O related
+/// Ignoring sys_enter_prlimit64 sys_exit_prlimit64 as possibly not file I/O related
+/// Ignoring sys_enter_perf_event_open sys_exit_perf_event_open as possibly not file I/O related
+/// Ignoring sys_enter_getpid sys_exit_getpid as possibly not file I/O related
+/// Ignoring sys_enter_inotify_add_watch sys_exit_inotify_add_watch as possibly not file I/O related
+/// Ignoring sys_enter_inotify_init1 sys_exit_inotify_init1 as possibly not file I/O related
+/// Ignoring sys_enter_clock_getres sys_exit_clock_getres as possibly not file I/O related
+/// Ignoring sys_enter_setpgid sys_exit_setpgid as possibly not file I/O related
+/// Ignoring sys_enter_getcwd sys_exit_getcwd as possibly not file I/O related
+/// Ignoring sys_enter_listen sys_exit_listen as possibly not file I/O related
+/// Ignoring sys_enter_setns sys_exit_setns as possibly not file I/O related
+/// Ignoring sys_enter_setfsgid sys_exit_setfsgid as possibly not file I/O related
+/// Ignoring sys_enter_semtimedop sys_exit_semtimedop as possibly not file I/O related
+/// Ignoring sys_enter_munlock sys_exit_munlock as possibly not file I/O related
/// Ignoring sys_enter_process_vm_readv sys_exit_process_vm_readv as possibly not file I/O related
-/// Ignoring sys_enter_wait4 sys_exit_wait4 as possibly not file I/O related
+/// Ignoring sys_enter_alarm sys_exit_alarm as possibly not file I/O related
+/// Ignoring sys_enter_brk sys_exit_brk as possibly not file I/O related
+/// Ignoring sys_enter_pselect6 sys_exit_pselect6 as possibly not file I/O related
+/// Ignoring sys_enter_sched_setscheduler sys_exit_sched_setscheduler as possibly not file I/O related
+/// Ignoring sys_enter_getrusage sys_exit_getrusage as possibly not file I/O related
+/// Ignoring sys_enter_process_vm_writev sys_exit_process_vm_writev as possibly not file I/O related
+/// Ignoring sys_enter_getpriority sys_exit_getpriority as possibly not file I/O related
+/// Ignoring sys_enter_keyctl sys_exit_keyctl as possibly not file I/O related
+/// Ignoring sys_enter_rt_sigtimedwait sys_exit_rt_sigtimedwait as possibly not file I/O related
+/// Ignoring sys_enter_mq_open sys_exit_mq_open as possibly not file I/O related
+/// Ignoring sys_enter_getgroups sys_exit_getgroups as possibly not file I/O related
+/// Ignoring sys_enter_getresgid sys_exit_getresgid as possibly not file I/O related
+/// Ignoring sys_enter_timerfd_settime sys_exit_timerfd_settime as possibly not file I/O related
+/// Ignoring sys_enter_arch_prctl sys_exit_arch_prctl as possibly not file I/O related
+/// Ignoring sys_enter_getitimer sys_exit_getitimer as possibly not file I/O related
+/// Ignoring sys_enter_bpf sys_exit_bpf as possibly not file I/O related
+/// Ignoring sys_enter_capget sys_exit_capget as possibly not file I/O related
+/// Ignoring sys_enter_pidfd_send_signal sys_exit_pidfd_send_signal as possibly not file I/O related
+/// Ignoring sys_enter_mknodat sys_exit_mknodat as possibly not file I/O related
+/// Ignoring sys_enter_membarrier sys_exit_membarrier as possibly not file I/O related
+/// Ignoring sys_enter_timer_settime sys_exit_timer_settime as possibly not file I/O related
+/// Ignoring sys_enter_tgkill sys_exit_tgkill as possibly not file I/O related
/// Ignoring sys_enter_socketpair sys_exit_socketpair as possibly not file I/O related
-/// Ignoring sys_enter_prctl sys_exit_prctl as possibly not file I/O related
-/// Ignoring sys_enter_rt_sigpending sys_exit_rt_sigpending as possibly not file I/O related
-/// Ignoring sys_enter_futex_wake sys_exit_futex_wake as possibly not file I/O related
-/// Ignoring sys_enter_mlockall sys_exit_mlockall as possibly not file I/O related
-/// Ignoring sys_enter_sched_setaffinity sys_exit_sched_setaffinity as possibly not file I/O related
-/// Ignoring sys_enter_getpid sys_exit_getpid as possibly not file I/O related
-/// Ignoring sys_enter_getsockname sys_exit_getsockname as possibly not file I/O related
-/// Ignoring sys_enter_epoll_create1 sys_exit_epoll_create1 as possibly not file I/O related
+/// Ignoring sys_enter_sched_getaffinity sys_exit_sched_getaffinity as possibly not file I/O related
+/// Ignoring sys_enter_nanosleep sys_exit_nanosleep as possibly not file I/O related
+/// Ignoring sys_enter_vfork sys_exit_vfork as possibly not file I/O related
/// Ignoring sys_enter_umask sys_exit_umask as possibly not file I/O related
-/// Ignoring sys_enter_mprotect sys_exit_mprotect as possibly not file I/O related
-/// Ignoring sys_enter_acct sys_exit_acct as possibly not file I/O related
-/// Ignoring sys_enter_pipe sys_exit_pipe as possibly not file I/O related
-/// Ignoring sys_enter_madvise sys_exit_madvise as possibly not file I/O related
-/// Ignoring sys_enter_execve sys_exit_execve as possibly not file I/O related
-/// Ignoring sys_enter_capget sys_exit_capget as possibly not file I/O related
-/// Ignoring sys_enter_waitid sys_exit_waitid as possibly not file I/O related
-/// Ignoring sys_enter_sendto sys_exit_sendto as possibly not file I/O related
-/// Ignoring sys_enter_signalfd4 sys_exit_signalfd4 as possibly not file I/O related
-/// Ignoring sys_enter_request_key sys_exit_request_key as possibly not file I/O related
-/// Ignoring sys_enter_dup3 sys_exit_dup3 as possibly not file I/O related
-/// Ignoring sys_enter_getpgrp sys_exit_getpgrp as possibly not file I/O related
-/// Ignoring sys_enter_kcmp sys_exit_kcmp as possibly not file I/O related
-/// Ignoring sys_enter_select sys_exit_select as possibly not file I/O related
-/// Ignoring sys_enter_inotify_add_watch sys_exit_inotify_add_watch as possibly not file I/O related
-/// Ignoring sys_enter_set_mempolicy sys_exit_set_mempolicy as possibly not file I/O related
/// Ignoring sys_enter_sigaltstack sys_exit_sigaltstack as possibly not file I/O related
-/// Ignoring sys_enter_set_robust_list sys_exit_set_robust_list as possibly not file I/O related
-/// Ignoring sys_enter_getpriority sys_exit_getpriority as possibly not file I/O related
-/// Ignoring sys_enter_process_vm_writev sys_exit_process_vm_writev as possibly not file I/O related
-/// Ignoring sys_enter_geteuid sys_exit_geteuid as possibly not file I/O related
-/// Ignoring sys_enter_listmount sys_exit_listmount as possibly not file I/O related
-/// Ignoring sys_enter_gettimeofday sys_exit_gettimeofday as possibly not file I/O related
-/// Ignoring sys_enter_seccomp sys_exit_seccomp as possibly not file I/O related
-/// Ignoring sys_enter_getuid sys_exit_getuid as possibly not file I/O related
-/// Ignoring sys_enter_remap_file_pages sys_exit_remap_file_pages as possibly not file I/O related
-/// Ignoring sys_enter_setpgid sys_exit_setpgid as possibly not file I/O related
-/// Ignoring sys_enter_inotify_rm_watch sys_exit_inotify_rm_watch as possibly not file I/O related
+/// Ignoring sys_enter_msgctl sys_exit_msgctl as possibly not file I/O related
+/// Ignoring sys_enter_sysinfo sys_exit_sysinfo as possibly not file I/O related
+/// Ignoring sys_enter_clock_gettime sys_exit_clock_gettime as possibly not file I/O related
+/// Ignoring sys_enter_utime sys_exit_utime as possibly not file I/O related
/// Ignoring sys_enter_capset sys_exit_capset as possibly not file I/O related
-/// Ignoring sys_enter_rt_sigreturn sys_exit_rt_sigreturn as possibly not file I/O related
-/// Ignoring sys_enter_init_module sys_exit_init_module as possibly not file I/O related
-/// Ignoring sys_enter_ioperm sys_exit_ioperm as possibly not file I/O related
+/// Ignoring sys_enter_remap_file_pages sys_exit_remap_file_pages as possibly not file I/O related
+/// Ignoring sys_enter_rt_sigprocmask sys_exit_rt_sigprocmask as possibly not file I/O related
+/// Ignoring sys_enter_sendmmsg sys_exit_sendmmsg as possibly not file I/O related
+/// Ignoring sys_enter_reboot sys_exit_reboot as possibly not file I/O related
/// Ignoring sys_enter_kill sys_exit_kill as possibly not file I/O related
-/// Ignoring sys_enter_pselect6 sys_exit_pselect6 as possibly not file I/O related
-/// Ignoring sys_enter_pidfd_send_signal sys_exit_pidfd_send_signal as possibly not file I/O related
-/// Ignoring sys_enter_perf_event_open sys_exit_perf_event_open as possibly not file I/O related
-/// Ignoring sys_enter_get_robust_list sys_exit_get_robust_list as possibly not file I/O related
-/// Ignoring sys_enter_statmount sys_exit_statmount as possibly not file I/O related
-/// Ignoring sys_enter_ptrace sys_exit_ptrace as possibly not file I/O related
+/// Ignoring sys_enter_epoll_pwait2 sys_exit_epoll_pwait2 as possibly not file I/O related
/// Ignoring sys_enter_timer_create sys_exit_timer_create as possibly not file I/O related
-/// Ignoring sys_enter_ustat sys_exit_ustat as possibly not file I/O related
-/// Ignoring sys_enter_timerfd_gettime sys_exit_timerfd_gettime as possibly not file I/O related
-/// Ignoring sys_enter_pidfd_getfd sys_exit_pidfd_getfd as possibly not file I/O related
-/// Ignoring sys_enter_pipe2 sys_exit_pipe2 as possibly not file I/O related
-/// Ignoring sys_enter_vhangup sys_exit_vhangup as possibly not file I/O related
-/// Ignoring sys_enter_adjtimex sys_exit_adjtimex as possibly not file I/O related
-/// Ignoring sys_enter_rt_sigprocmask sys_exit_rt_sigprocmask as possibly not file I/O related
-/// Ignoring sys_enter_set_tid_address sys_exit_set_tid_address as possibly not file I/O related
-/// Ignoring sys_enter_personality sys_exit_personality as possibly not file I/O related
-/// Ignoring sys_enter_msgget sys_exit_msgget as possibly not file I/O related
-/// Ignoring sys_enter_clone3 sys_exit_clone3 as possibly not file I/O related
-/// Ignoring sys_enter_getrandom sys_exit_getrandom as possibly not file I/O related
-/// Ignoring sys_enter_futex sys_exit_futex as possibly not file I/O related
-/// Ignoring sys_enter_rseq sys_exit_rseq as possibly not file I/O related
-/// Ignoring sys_enter_arch_prctl sys_exit_arch_prctl as possibly not file I/O related
-/// Ignoring sys_enter_clock_adjtime sys_exit_clock_adjtime as possibly not file I/O related
-/// Ignoring sys_enter_move_pages sys_exit_move_pages as possibly not file I/O related
-/// Ignoring sys_enter_inotify_init1 sys_exit_inotify_init1 as possibly not file I/O related
-/// Ignoring sys_enter_kexec_file_load sys_exit_kexec_file_load as possibly not file I/O related
-/// Ignoring sys_enter_sysinfo sys_exit_sysinfo as possibly not file I/O related
-/// Ignoring sys_enter_mknodat sys_exit_mknodat as possibly not file I/O related
-/// Ignoring sys_enter_quotactl sys_exit_quotactl as possibly not file I/O related
-/// Ignoring sys_enter_fsopen sys_exit_fsopen as possibly not file I/O related
-/// Ignoring sys_enter_copy_file_range sys_exit_copy_file_range as possibly not file I/O related
-/// Ignoring sys_enter_bind sys_exit_bind as possibly not file I/O related
-/// Ignoring sys_enter_gettid sys_exit_gettid as possibly not file I/O related
+/// Ignoring sys_enter_getrlimit sys_exit_getrlimit as possibly not file I/O related
+/// Ignoring sys_enter_swapoff sys_exit_swapoff as possibly not file I/O related
/// Ignoring sys_enter_epoll_create sys_exit_epoll_create as possibly not file I/O related
-/// Ignoring sys_enter_getgid sys_exit_getgid as possibly not file I/O related
-/// Ignoring sys_enter_shmctl sys_exit_shmctl as possibly not file I/O related
-/// Ignoring sys_enter_rt_sigsuspend sys_exit_rt_sigsuspend as possibly not file I/O related
-/// Ignoring sys_enter_timerfd_create sys_exit_timerfd_create as possibly not file I/O related
+/// Ignoring sys_enter_process_madvise sys_exit_process_madvise as possibly not file I/O related
+/// Ignoring sys_enter_setreuid sys_exit_setreuid as possibly not file I/O related
+/// Ignoring sys_enter_getuid sys_exit_getuid as possibly not file I/O related
+/// Ignoring sys_enter_epoll_wait sys_exit_epoll_wait as possibly not file I/O related
+/// Ignoring sys_enter_mincore sys_exit_mincore as possibly not file I/O related
+/// Ignoring sys_enter_setrlimit sys_exit_setrlimit as possibly not file I/O related
+/// Ignoring sys_enter_semget sys_exit_semget as possibly not file I/O related
+/// Ignoring sys_enter_quotactl sys_exit_quotactl as possibly not file I/O related
+/// Ignoring sys_enter_pipe sys_exit_pipe as possibly not file I/O related
+/// Ignoring sys_enter_splice sys_exit_splice as possibly not file I/O related
+/// Ignoring sys_enter_setpriority sys_exit_setpriority as possibly not file I/O related
+/// Ignoring sys_enter_accept4 sys_exit_accept4 as possibly not file I/O related
+/// Ignoring sys_enter_mq_unlink sys_exit_mq_unlink as possibly not file I/O related
+/// Ignoring sys_enter_sched_setparam sys_exit_sched_setparam as possibly not file I/O related
+/// Ignoring sys_enter_rt_sigaction sys_exit_rt_sigaction as possibly not file I/O related
+/// Ignoring sys_enter_getppid sys_exit_getppid as possibly not file I/O related
+/// Ignoring sys_enter_msync sys_exit_msync as possibly not file I/O related
/// Ignoring sys_enter_lsm_list_modules sys_exit_lsm_list_modules as possibly not file I/O related
-/// Ignoring sys_enter_getgroups sys_exit_getgroups as possibly not file I/O related
-/// Ignoring sys_enter_munmap sys_exit_munmap as possibly not file I/O related
-/// Ignoring sys_enter_sendmmsg sys_exit_sendmmsg as possibly not file I/O related
+/// Ignoring sys_enter_memfd_create sys_exit_memfd_create as possibly not file I/O related
+/// Ignoring sys_enter_mq_getsetattr sys_exit_mq_getsetattr as possibly not file I/O related
+/// Ignoring sys_enter_get_mempolicy sys_exit_get_mempolicy as possibly not file I/O related
+/// Ignoring sys_enter_tee sys_exit_tee as possibly not file I/O related
/// Ignoring sys_enter_sched_yield sys_exit_sched_yield as possibly not file I/O related
-/// Ignoring sys_enter_name_to_handle_at sys_exit_name_to_handle_at as possibly not file I/O related
-/// Ignoring sys_enter_clock_settime sys_exit_clock_settime as possibly not file I/O related
-/// Ignoring sys_enter_fsmount sys_exit_fsmount as possibly not file I/O related
-/// Ignoring sys_enter_tgkill sys_exit_tgkill as possibly not file I/O related
-/// Ignoring sys_enter_exit_group sys_exit_exit_group as possibly not file I/O related
+/// Ignoring sys_enter_getsockname sys_exit_getsockname as possibly not file I/O related
/// Ignoring sys_enter_setresuid sys_exit_setresuid as possibly not file I/O related
-/// Ignoring sys_enter_timer_settime sys_exit_timer_settime as possibly not file I/O related
-/// Ignoring sys_enter_getpgid sys_exit_getpgid as possibly not file I/O related
-/// Ignoring sys_enter_lsm_set_self_attr sys_exit_lsm_set_self_attr as possibly not file I/O related
-/// Ignoring sys_enter_semctl sys_exit_semctl as possibly not file I/O related
-/// Ignoring sys_enter_pivot_root sys_exit_pivot_root as possibly not file I/O related
-/// Ignoring sys_enter_set_mempolicy_home_node sys_exit_set_mempolicy_home_node as possibly not file I/O related
-/// Ignoring sys_enter_landlock_create_ruleset sys_exit_landlock_create_ruleset as possibly not file I/O related
-/// Ignoring sys_enter_migrate_pages sys_exit_migrate_pages as possibly not file I/O related
-/// Ignoring sys_enter_umount sys_exit_umount as possibly not file I/O related
-/// Ignoring sys_enter_getpeername sys_exit_getpeername as possibly not file I/O related
-/// Ignoring sys_enter_pkey_mprotect sys_exit_pkey_mprotect as possibly not file I/O related
-/// Ignoring sys_enter_pkey_alloc sys_exit_pkey_alloc as possibly not file I/O related
-/// Ignoring sys_enter_semtimedop sys_exit_semtimedop as possibly not file I/O related
-/// Ignoring sys_enter_exit sys_exit_exit as possibly not file I/O related
-/// Ignoring sys_enter_listen sys_exit_listen as possibly not file I/O related
-/// Ignoring sys_enter_unshare sys_exit_unshare as possibly not file I/O related
-/// Ignoring sys_enter_setreuid sys_exit_setreuid as possibly not file I/O related
-/// Ignoring sys_enter_epoll_ctl sys_exit_epoll_ctl as possibly not file I/O related
-/// Ignoring sys_enter_msgctl sys_exit_msgctl as possibly not file I/O related
+/// Ignoring sys_enter_sendfile64 sys_exit_sendfile64 as possibly not file I/O related
+/// Ignoring sys_enter_time sys_exit_time as possibly not file I/O related
+/// Ignoring sys_enter_inotify_init sys_exit_inotify_init as possibly not file I/O related
+/// Ignoring sys_enter_fsopen sys_exit_fsopen as possibly not file I/O related
+/// Ignoring sys_enter_landlock_restrict_self sys_exit_landlock_restrict_self as possibly not file I/O related
+/// Ignoring sys_enter_recvfrom sys_exit_recvfrom as possibly not file I/O related
+/// Ignoring sys_enter_gettid sys_exit_gettid as possibly not file I/O related
+/// Ignoring sys_enter_ptrace sys_exit_ptrace as possibly not file I/O related
/// Ignoring sys_enter_sched_getparam sys_exit_sched_getparam as possibly not file I/O related
+/// Ignoring sys_enter_getsid sys_exit_getsid as possibly not file I/O related
+/// Ignoring sys_enter_sched_get_priority_max sys_exit_sched_get_priority_max as possibly not file I/O related
+/// Ignoring sys_enter_sched_setaffinity sys_exit_sched_setaffinity as possibly not file I/O related
+/// Ignoring sys_enter_pkey_alloc sys_exit_pkey_alloc as possibly not file I/O related
+/// Ignoring sys_enter_uretprobe sys_exit_uretprobe as possibly not file I/O related
+/// Ignoring sys_enter_accept sys_exit_accept as possibly not file I/O related
+/// Ignoring sys_enter_ppoll sys_exit_ppoll as possibly not file I/O related
+/// Ignoring sys_enter_sched_getscheduler sys_exit_sched_getscheduler as possibly not file I/O related
+/// Ignoring sys_enter_vhangup sys_exit_vhangup as possibly not file I/O related
+/// Ignoring sys_enter_pipe2 sys_exit_pipe2 as possibly not file I/O related
+/// Ignoring sys_enter_poll sys_exit_poll as possibly not file I/O related
+/// Ignoring sys_enter_shmat sys_exit_shmat as possibly not file I/O related
+/// Ignoring sys_enter_munlockall sys_exit_munlockall as possibly not file I/O related
+/// Ignoring sys_enter_getrandom sys_exit_getrandom as possibly not file I/O related
+/// Ignoring sys_enter_getresuid sys_exit_getresuid as possibly not file I/O related
+/// Ignoring sys_enter_timer_gettime sys_exit_timer_gettime as possibly not file I/O related
+/// Ignoring sys_enter_copy_file_range sys_exit_copy_file_range as possibly not file I/O related
+/// Ignoring sys_enter_mlockall sys_exit_mlockall as possibly not file I/O related
+/// Ignoring sys_enter_mq_timedsend sys_exit_mq_timedsend as possibly not file I/O related
+/// Ignoring sys_enter_epoll_create1 sys_exit_epoll_create1 as possibly not file I/O related
+/// Ignoring sys_enter_ustat sys_exit_ustat as possibly not file I/O related
+/// Ignoring sys_enter_fork sys_exit_fork as possibly not file I/O related
+/// Ignoring sys_enter_setfsuid sys_exit_setfsuid as possibly not file I/O related
+/// Ignoring sys_enter_msgget sys_exit_msgget as possibly not file I/O related
+/// Ignoring sys_enter_mq_timedreceive sys_exit_mq_timedreceive as possibly not file I/O related
/// Ignoring sys_enter_delete_module sys_exit_delete_module as possibly not file I/O related
-/// Ignoring sys_enter_signalfd sys_exit_signalfd as possibly not file I/O related
+/// Ignoring sys_enter_sched_setattr sys_exit_sched_setattr as possibly not file I/O related
+/// Ignoring sys_enter_execve sys_exit_execve as possibly not file I/O related
+/// Ignoring sys_enter_prctl sys_exit_prctl as possibly not file I/O related
#define SYS_ENTER_IO_URING_REGISTER 1513
#define SYS_EXIT_IO_URING_REGISTER 1512
@@ -342,6 +341,8 @@
#define SYS_EXIT_MOUNT_SETATTR 937
#define SYS_ENTER_CLOSE_RANGE 930
#define SYS_EXIT_CLOSE_RANGE 929
+#define SYS_ENTER_DUP3 928
+#define SYS_EXIT_DUP3 927
#define SYS_ENTER_DUP2 926
#define SYS_EXIT_DUP2 925
#define SYS_ENTER_DUP 924
@@ -2374,6 +2375,51 @@ int handle_sys_exit_close_range(struct trace_event_raw_sys_exit *ctx) {
return 0;
}
+/// sys_enter_dup3 is a struct dup3_event
+SEC("tracepoint/syscalls/sys_enter_dup3")
+int handle_sys_enter_dup3(struct trace_event_raw_sys_enter *ctx) {
+ __u32 pid, tid;
+ if (filter(&pid, &tid))
+ return 0;
+
+ struct dup3_event *ev = bpf_ringbuf_reserve(&event_map, sizeof(struct dup3_event), 0);
+ if (!ev)
+ return 0;
+
+ ev->event_type = ENTER_DUP3_EVENT;
+ ev->trace_id = SYS_ENTER_DUP3;
+ ev->pid = pid;
+ ev->tid = tid;
+ ev->time = bpf_ktime_get_boot_ns();
+ ev->fd = (__s32)ctx->args[0];
+ ev->flags = (__s32)ctx->args[2];
+
+ bpf_ringbuf_submit(ev, 0);
+ return 0;
+}
+
+/// sys_exit_dup3 is a struct ret_event
+SEC("tracepoint/syscalls/sys_exit_dup3")
+int handle_sys_exit_dup3(struct trace_event_raw_sys_exit *ctx) {
+ __u32 pid, tid;
+ if (filter(&pid, &tid))
+ return 0;
+
+ struct ret_event *ev = bpf_ringbuf_reserve(&event_map, sizeof(struct ret_event), 0);
+ if (!ev)
+ return 0;
+
+ ev->event_type = EXIT_RET_EVENT;
+ ev->trace_id = SYS_EXIT_DUP3;
+ ev->pid = pid;
+ ev->tid = tid;
+ ev->time = bpf_ktime_get_boot_ns();
+ ev->ret = ctx->ret;
+
+ bpf_ringbuf_submit(ev, 0);
+ return 0;
+}
+
/// sys_enter_dup2 is a struct fd_event
SEC("tracepoint/syscalls/sys_enter_dup2")
int handle_sys_enter_dup2(struct trace_event_raw_sys_enter *ctx) {
diff --git a/internal/c/types.h b/internal/c/types.h
index 980578a..2c16312 100644
--- a/internal/c/types.h
+++ b/internal/c/types.h
@@ -17,6 +17,8 @@
#define EXIT_PATH_EVENT 12
#define ENTER_FCNTL_EVENT 13
#define EXIT_FCNTL_EVENT 14
+#define ENTER_DUP3_EVENT 15
+#define EXIT_DUP3_EVENT 16
struct open_event {
__u32 event_type;
@@ -84,3 +86,14 @@ struct fcntl_event {
__u32 cmd;
__u64 arg;
};
+
+// dup and dup2 are just fd_events, but dup3 also has the additional flags
+struct dup3_event {
+ __u32 event_type;
+ __u32 trace_id;
+ __u64 time;
+ __u32 pid;
+ __u32 tid;
+ __s32 fd;
+ __s32 flags;
+};
diff --git a/internal/eventloop.go b/internal/eventloop.go
index 5ff2b45..a6e17ca 100644
--- a/internal/eventloop.go
+++ b/internal/eventloop.go
@@ -21,11 +21,11 @@ import (
// TOOD: read and write syscalls: can also collect amount of bytes!
type eventLoop struct {
filter *eventFilter
- enterEvs map[uint32]*event.Pair // Temp. store of sys_enter tracepoints per Tid.
- files map[int32]file.File // Track all open files by file descriptor..
- comms map[uint32]string // Program or thread name of the current Tid.
- prevPairTimes map[uint32]uint64 // Previous event's time (to calculate time differences between two events)
- flamegraph flamegraph.IorDataCollector // Storing all paths in a map structure for analysis
+ enterEvs map[uint32]*event.Pair // Temp. store of sys_enter tracepoints per Tid.
+ files map[int32]file.File // Track all open files by file descriptor..
+ comms map[uint32]string // Program or thread name of the current Tid.
+ prevPairTimes map[uint32]uint64 // Previous event's time (to calculate time differences between two events)
+ flamegraph flamegraph.IorDataCollector // Storing all paths in a map structure for analysis
// Statistics
numTracepoints uint
@@ -156,6 +156,8 @@ func (e *eventLoop) processRawEvent(raw []byte, ch chan<- *event.Pair) {
}
case ENTER_FCNTL_EVENT:
e.syscallEnter(NewFcntlEvent(raw))
+ case ENTER_DUP3_EVENT:
+ e.syscallEnter(NewDup3Event(raw))
default:
panic(fmt.Sprintf("unhandled event type %v: %v", EventType(raw[0]), raw))
}
@@ -255,6 +257,29 @@ func (e *eventLoop) syscallExit(exitEv event.Event, ch chan<- *event.Pair) {
e.files[newFd] = fdFile.Dup(newFd)
}
+ case *Dup3Event:
+ dup3Event := ev.EnterEv.(*Dup3Event)
+ fd := int32(dup3Event.Fd)
+ if file_, ok := e.files[fd]; ok {
+ ev.File = file_
+ } else {
+ ev.File = file.NewFdWithPid(fd, v.Pid)
+ }
+ ev.Comm = e.comm(ev.EnterEv.GetTid())
+ if !e.filter.eventPair(ev) {
+ ev.Recycle()
+ return
+ }
+ // Duplicating fd
+ fdFile, ok := ev.File.(file.FdFile)
+ if !ok {
+ panic("expected a file.FdFile")
+ }
+ newFd := int32(ev.ExitEv.(*RetEvent).Ret)
+ duppedFdFile := fdFile.Dup(newFd)
+ duppedFdFile.AddFlags(dup3Event.Flags & syscall.O_CLOEXEC)
+ e.files[newFd] = duppedFdFile
+
case *NullEvent:
ev.Comm = e.comm(ev.EnterEv.GetTid())
if !e.filter.eventPair(ev) {
diff --git a/internal/tracepoints/generated_tracepoints.go b/internal/tracepoints/generated_tracepoints.go
index 2f99545..1d29345 100644
--- a/internal/tracepoints/generated_tracepoints.go
+++ b/internal/tracepoints/generated_tracepoints.go
@@ -88,6 +88,8 @@ var List = []string{
"sys_exit_mount_setattr",
"sys_enter_close_range",
"sys_exit_close_range",
+ "sys_enter_dup3",
+ "sys_exit_dup3",
"sys_enter_dup2",
"sys_exit_dup2",
"sys_enter_dup",
diff --git a/internal/types/generated_types.go b/internal/types/generated_types.go
index a6fe334..3200b9f 100644
--- a/internal/types/generated_types.go
+++ b/internal/types/generated_types.go
@@ -12,11 +12,11 @@ type EventType uint32
type TraceId uint32
var traceId2String = map[TraceId]string{
- 1513: "enter_io_uring_register", 1512: "exit_io_uring_register", 1494: "enter_io_uring_enter", 1493: "exit_io_uring_enter", 1492: "enter_io_uring_setup", 1491: "exit_io_uring_setup", 1151: "enter_quotactl_fd", 1150: "exit_quotactl_fd", 1120: "enter_flock", 1119: "exit_flock", 1104: "enter_io_setup", 1103: "exit_io_setup", 1102: "enter_io_destroy", 1101: "exit_io_destroy", 1100: "enter_io_submit", 1099: "exit_io_submit", 1098: "enter_io_cancel", 1097: "exit_io_cancel", 1096: "enter_io_getevents", 1095: "exit_io_getevents", 1094: "enter_io_pgetevents", 1093: "exit_io_pgetevents", 1062: "enter_fanotify_mark", 1061: "exit_fanotify_mark", 1050: "enter_fspick", 1049: "exit_fspick", 1048: "enter_fsconfig", 1047: "exit_fsconfig", 1046: "enter_statfs", 1045: "exit_statfs", 1044: "enter_fstatfs", 1043: "exit_fstatfs", 1038: "enter_utimensat", 1037: "exit_utimensat", 1036: "enter_futimesat", 1035: "exit_futimesat", 1030: "enter_sync", 1029: "exit_sync", 1028: "enter_syncfs", 1027: "exit_syncfs", 1026: "enter_fsync", 1025: "exit_fsync", 1024: "enter_fdatasync", 1023: "exit_fdatasync", 1022: "enter_sync_file_range", 1021: "exit_sync_file_range", 1020: "enter_vmsplice", 1019: "exit_vmsplice", 982: "enter_setxattrat", 981: "exit_setxattrat", 980: "enter_setxattr", 979: "exit_setxattr", 978: "enter_lsetxattr", 977: "exit_lsetxattr", 976: "enter_fsetxattr", 975: "exit_fsetxattr", 974: "enter_getxattrat", 973: "exit_getxattrat", 972: "enter_getxattr", 971: "exit_getxattr", 970: "enter_lgetxattr", 969: "exit_lgetxattr", 968: "enter_fgetxattr", 967: "exit_fgetxattr", 966: "enter_listxattrat", 965: "exit_listxattrat", 964: "enter_listxattr", 963: "exit_listxattr", 962: "enter_llistxattr", 961: "exit_llistxattr", 960: "enter_flistxattr", 959: "exit_flistxattr", 958: "enter_removexattrat", 957: "exit_removexattrat", 956: "enter_removexattr", 955: "exit_removexattr", 954: "enter_lremovexattr", 953: "exit_lremovexattr", 952: "enter_fremovexattr", 951: "exit_fremovexattr", 948: "enter_open_tree", 947: "exit_open_tree", 938: "enter_mount_setattr", 937: "exit_mount_setattr", 930: "enter_close_range", 929: "exit_close_range", 926: "enter_dup2", 925: "exit_dup2", 924: "enter_dup", 923: "exit_dup", 910: "enter_getdents", 909: "exit_getdents", 908: "enter_getdents64", 907: "exit_getdents64", 906: "enter_ioctl", 905: "exit_ioctl", 904: "enter_fcntl", 903: "exit_fcntl", 898: "enter_mkdirat", 897: "exit_mkdirat", 896: "enter_mkdir", 895: "exit_mkdir", 894: "enter_rmdir", 893: "exit_rmdir", 892: "enter_unlinkat", 891: "exit_unlinkat", 890: "enter_unlink", 889: "exit_unlink", 888: "enter_symlinkat", 887: "exit_symlinkat", 886: "enter_symlink", 885: "exit_symlink", 884: "enter_linkat", 883: "exit_linkat", 882: "enter_link", 881: "exit_link", 880: "enter_renameat2", 879: "exit_renameat2", 878: "enter_renameat", 877: "exit_renameat", 876: "enter_rename", 875: "exit_rename", 866: "enter_newstat", 865: "exit_newstat", 864: "enter_newlstat", 863: "exit_newlstat", 862: "enter_newfstatat", 861: "exit_newfstatat", 860: "enter_newfstat", 859: "exit_newfstat", 858: "enter_readlinkat", 857: "exit_readlinkat", 856: "enter_readlink", 855: "exit_readlink", 854: "enter_statx", 853: "exit_statx", 852: "enter_lseek", 851: "exit_lseek", 850: "enter_read", 849: "exit_read", 848: "enter_write", 847: "exit_write", 846: "enter_pread64", 845: "exit_pread64", 844: "enter_pwrite64", 843: "exit_pwrite64", 842: "enter_readv", 841: "exit_readv", 840: "enter_writev", 839: "exit_writev", 838: "enter_preadv", 837: "exit_preadv", 836: "enter_preadv2", 835: "exit_preadv2", 834: "enter_pwritev", 833: "exit_pwritev", 832: "enter_pwritev2", 831: "exit_pwritev2", 826: "enter_truncate", 825: "exit_truncate", 824: "enter_ftruncate", 823: "exit_ftruncate", 822: "enter_fallocate", 821: "exit_fallocate", 820: "enter_faccessat", 819: "exit_faccessat", 818: "enter_faccessat2", 817: "exit_faccessat2", 816: "enter_access", 815: "exit_access", 814: "enter_chdir", 813: "exit_chdir", 812: "enter_fchdir", 811: "exit_fchdir", 810: "enter_chroot", 809: "exit_chroot", 808: "enter_fchmod", 807: "exit_fchmod", 806: "enter_fchmodat2", 805: "exit_fchmodat2", 804: "enter_fchmodat", 803: "exit_fchmodat", 802: "enter_chmod", 801: "exit_chmod", 800: "enter_fchownat", 799: "exit_fchownat", 798: "enter_chown", 797: "exit_chown", 796: "enter_lchown", 795: "exit_lchown", 794: "enter_fchown", 793: "exit_fchown", 792: "enter_open", 791: "exit_open", 790: "enter_openat", 789: "exit_openat", 788: "enter_openat2", 787: "exit_openat2", 786: "enter_creat", 785: "exit_creat", 784: "enter_close", 783: "exit_close", 620: "enter_readahead", 619: "exit_readahead", 618: "enter_fadvise64", 617: "exit_fadvise64", 599: "enter_cachestat", 598: "exit_cachestat", 409: "enter_finit_module", 408: "exit_finit_module", 349: "enter_syslog", 348: "exit_syslog", 102: "enter_mmap", 101: "exit_mmap",
+ 1513: "enter_io_uring_register", 1512: "exit_io_uring_register", 1494: "enter_io_uring_enter", 1493: "exit_io_uring_enter", 1492: "enter_io_uring_setup", 1491: "exit_io_uring_setup", 1151: "enter_quotactl_fd", 1150: "exit_quotactl_fd", 1120: "enter_flock", 1119: "exit_flock", 1104: "enter_io_setup", 1103: "exit_io_setup", 1102: "enter_io_destroy", 1101: "exit_io_destroy", 1100: "enter_io_submit", 1099: "exit_io_submit", 1098: "enter_io_cancel", 1097: "exit_io_cancel", 1096: "enter_io_getevents", 1095: "exit_io_getevents", 1094: "enter_io_pgetevents", 1093: "exit_io_pgetevents", 1062: "enter_fanotify_mark", 1061: "exit_fanotify_mark", 1050: "enter_fspick", 1049: "exit_fspick", 1048: "enter_fsconfig", 1047: "exit_fsconfig", 1046: "enter_statfs", 1045: "exit_statfs", 1044: "enter_fstatfs", 1043: "exit_fstatfs", 1038: "enter_utimensat", 1037: "exit_utimensat", 1036: "enter_futimesat", 1035: "exit_futimesat", 1030: "enter_sync", 1029: "exit_sync", 1028: "enter_syncfs", 1027: "exit_syncfs", 1026: "enter_fsync", 1025: "exit_fsync", 1024: "enter_fdatasync", 1023: "exit_fdatasync", 1022: "enter_sync_file_range", 1021: "exit_sync_file_range", 1020: "enter_vmsplice", 1019: "exit_vmsplice", 982: "enter_setxattrat", 981: "exit_setxattrat", 980: "enter_setxattr", 979: "exit_setxattr", 978: "enter_lsetxattr", 977: "exit_lsetxattr", 976: "enter_fsetxattr", 975: "exit_fsetxattr", 974: "enter_getxattrat", 973: "exit_getxattrat", 972: "enter_getxattr", 971: "exit_getxattr", 970: "enter_lgetxattr", 969: "exit_lgetxattr", 968: "enter_fgetxattr", 967: "exit_fgetxattr", 966: "enter_listxattrat", 965: "exit_listxattrat", 964: "enter_listxattr", 963: "exit_listxattr", 962: "enter_llistxattr", 961: "exit_llistxattr", 960: "enter_flistxattr", 959: "exit_flistxattr", 958: "enter_removexattrat", 957: "exit_removexattrat", 956: "enter_removexattr", 955: "exit_removexattr", 954: "enter_lremovexattr", 953: "exit_lremovexattr", 952: "enter_fremovexattr", 951: "exit_fremovexattr", 948: "enter_open_tree", 947: "exit_open_tree", 938: "enter_mount_setattr", 937: "exit_mount_setattr", 930: "enter_close_range", 929: "exit_close_range", 928: "enter_dup3", 927: "exit_dup3", 926: "enter_dup2", 925: "exit_dup2", 924: "enter_dup", 923: "exit_dup", 910: "enter_getdents", 909: "exit_getdents", 908: "enter_getdents64", 907: "exit_getdents64", 906: "enter_ioctl", 905: "exit_ioctl", 904: "enter_fcntl", 903: "exit_fcntl", 898: "enter_mkdirat", 897: "exit_mkdirat", 896: "enter_mkdir", 895: "exit_mkdir", 894: "enter_rmdir", 893: "exit_rmdir", 892: "enter_unlinkat", 891: "exit_unlinkat", 890: "enter_unlink", 889: "exit_unlink", 888: "enter_symlinkat", 887: "exit_symlinkat", 886: "enter_symlink", 885: "exit_symlink", 884: "enter_linkat", 883: "exit_linkat", 882: "enter_link", 881: "exit_link", 880: "enter_renameat2", 879: "exit_renameat2", 878: "enter_renameat", 877: "exit_renameat", 876: "enter_rename", 875: "exit_rename", 866: "enter_newstat", 865: "exit_newstat", 864: "enter_newlstat", 863: "exit_newlstat", 862: "enter_newfstatat", 861: "exit_newfstatat", 860: "enter_newfstat", 859: "exit_newfstat", 858: "enter_readlinkat", 857: "exit_readlinkat", 856: "enter_readlink", 855: "exit_readlink", 854: "enter_statx", 853: "exit_statx", 852: "enter_lseek", 851: "exit_lseek", 850: "enter_read", 849: "exit_read", 848: "enter_write", 847: "exit_write", 846: "enter_pread64", 845: "exit_pread64", 844: "enter_pwrite64", 843: "exit_pwrite64", 842: "enter_readv", 841: "exit_readv", 840: "enter_writev", 839: "exit_writev", 838: "enter_preadv", 837: "exit_preadv", 836: "enter_preadv2", 835: "exit_preadv2", 834: "enter_pwritev", 833: "exit_pwritev", 832: "enter_pwritev2", 831: "exit_pwritev2", 826: "enter_truncate", 825: "exit_truncate", 824: "enter_ftruncate", 823: "exit_ftruncate", 822: "enter_fallocate", 821: "exit_fallocate", 820: "enter_faccessat", 819: "exit_faccessat", 818: "enter_faccessat2", 817: "exit_faccessat2", 816: "enter_access", 815: "exit_access", 814: "enter_chdir", 813: "exit_chdir", 812: "enter_fchdir", 811: "exit_fchdir", 810: "enter_chroot", 809: "exit_chroot", 808: "enter_fchmod", 807: "exit_fchmod", 806: "enter_fchmodat2", 805: "exit_fchmodat2", 804: "enter_fchmodat", 803: "exit_fchmodat", 802: "enter_chmod", 801: "exit_chmod", 800: "enter_fchownat", 799: "exit_fchownat", 798: "enter_chown", 797: "exit_chown", 796: "enter_lchown", 795: "exit_lchown", 794: "enter_fchown", 793: "exit_fchown", 792: "enter_open", 791: "exit_open", 790: "enter_openat", 789: "exit_openat", 788: "enter_openat2", 787: "exit_openat2", 786: "enter_creat", 785: "exit_creat", 784: "enter_close", 783: "exit_close", 620: "enter_readahead", 619: "exit_readahead", 618: "enter_fadvise64", 617: "exit_fadvise64", 599: "enter_cachestat", 598: "exit_cachestat", 409: "enter_finit_module", 408: "exit_finit_module", 349: "enter_syslog", 348: "exit_syslog", 102: "enter_mmap", 101: "exit_mmap",
}
var traceId2Name = map[TraceId]string{
- 1513: "io_uring_register", 1512: "io_uring_register", 1494: "io_uring_enter", 1493: "io_uring_enter", 1492: "io_uring_setup", 1491: "io_uring_setup", 1151: "quotactl_fd", 1150: "quotactl_fd", 1120: "flock", 1119: "flock", 1104: "io_setup", 1103: "io_setup", 1102: "io_destroy", 1101: "io_destroy", 1100: "io_submit", 1099: "io_submit", 1098: "io_cancel", 1097: "io_cancel", 1096: "io_getevents", 1095: "io_getevents", 1094: "io_pgetevents", 1093: "io_pgetevents", 1062: "fanotify_mark", 1061: "fanotify_mark", 1050: "fspick", 1049: "fspick", 1048: "fsconfig", 1047: "fsconfig", 1046: "statfs", 1045: "statfs", 1044: "fstatfs", 1043: "fstatfs", 1038: "utimensat", 1037: "utimensat", 1036: "futimesat", 1035: "futimesat", 1030: "sync", 1029: "sync", 1028: "syncfs", 1027: "syncfs", 1026: "fsync", 1025: "fsync", 1024: "fdatasync", 1023: "fdatasync", 1022: "sync_file_range", 1021: "sync_file_range", 1020: "vmsplice", 1019: "vmsplice", 982: "setxattrat", 981: "setxattrat", 980: "setxattr", 979: "setxattr", 978: "lsetxattr", 977: "lsetxattr", 976: "fsetxattr", 975: "fsetxattr", 974: "getxattrat", 973: "getxattrat", 972: "getxattr", 971: "getxattr", 970: "lgetxattr", 969: "lgetxattr", 968: "fgetxattr", 967: "fgetxattr", 966: "listxattrat", 965: "listxattrat", 964: "listxattr", 963: "listxattr", 962: "llistxattr", 961: "llistxattr", 960: "flistxattr", 959: "flistxattr", 958: "removexattrat", 957: "removexattrat", 956: "removexattr", 955: "removexattr", 954: "lremovexattr", 953: "lremovexattr", 952: "fremovexattr", 951: "fremovexattr", 948: "open_tree", 947: "open_tree", 938: "mount_setattr", 937: "mount_setattr", 930: "close_range", 929: "close_range", 926: "dup2", 925: "dup2", 924: "dup", 923: "dup", 910: "getdents", 909: "getdents", 908: "getdents64", 907: "getdents64", 906: "ioctl", 905: "ioctl", 904: "fcntl", 903: "fcntl", 898: "mkdirat", 897: "mkdirat", 896: "mkdir", 895: "mkdir", 894: "rmdir", 893: "rmdir", 892: "unlinkat", 891: "unlinkat", 890: "unlink", 889: "unlink", 888: "symlinkat", 887: "symlinkat", 886: "symlink", 885: "symlink", 884: "linkat", 883: "linkat", 882: "link", 881: "link", 880: "renameat2", 879: "renameat2", 878: "renameat", 877: "renameat", 876: "rename", 875: "rename", 866: "newstat", 865: "newstat", 864: "newlstat", 863: "newlstat", 862: "newfstatat", 861: "newfstatat", 860: "newfstat", 859: "newfstat", 858: "readlinkat", 857: "readlinkat", 856: "readlink", 855: "readlink", 854: "statx", 853: "statx", 852: "lseek", 851: "lseek", 850: "read", 849: "read", 848: "write", 847: "write", 846: "pread64", 845: "pread64", 844: "pwrite64", 843: "pwrite64", 842: "readv", 841: "readv", 840: "writev", 839: "writev", 838: "preadv", 837: "preadv", 836: "preadv2", 835: "preadv2", 834: "pwritev", 833: "pwritev", 832: "pwritev2", 831: "pwritev2", 826: "truncate", 825: "truncate", 824: "ftruncate", 823: "ftruncate", 822: "fallocate", 821: "fallocate", 820: "faccessat", 819: "faccessat", 818: "faccessat2", 817: "faccessat2", 816: "access", 815: "access", 814: "chdir", 813: "chdir", 812: "fchdir", 811: "fchdir", 810: "chroot", 809: "chroot", 808: "fchmod", 807: "fchmod", 806: "fchmodat2", 805: "fchmodat2", 804: "fchmodat", 803: "fchmodat", 802: "chmod", 801: "chmod", 800: "fchownat", 799: "fchownat", 798: "chown", 797: "chown", 796: "lchown", 795: "lchown", 794: "fchown", 793: "fchown", 792: "open", 791: "open", 790: "openat", 789: "openat", 788: "openat2", 787: "openat2", 786: "creat", 785: "creat", 784: "close", 783: "close", 620: "readahead", 619: "readahead", 618: "fadvise64", 617: "fadvise64", 599: "cachestat", 598: "cachestat", 409: "finit_module", 408: "finit_module", 349: "syslog", 348: "syslog", 102: "mmap", 101: "mmap",
+ 1513: "io_uring_register", 1512: "io_uring_register", 1494: "io_uring_enter", 1493: "io_uring_enter", 1492: "io_uring_setup", 1491: "io_uring_setup", 1151: "quotactl_fd", 1150: "quotactl_fd", 1120: "flock", 1119: "flock", 1104: "io_setup", 1103: "io_setup", 1102: "io_destroy", 1101: "io_destroy", 1100: "io_submit", 1099: "io_submit", 1098: "io_cancel", 1097: "io_cancel", 1096: "io_getevents", 1095: "io_getevents", 1094: "io_pgetevents", 1093: "io_pgetevents", 1062: "fanotify_mark", 1061: "fanotify_mark", 1050: "fspick", 1049: "fspick", 1048: "fsconfig", 1047: "fsconfig", 1046: "statfs", 1045: "statfs", 1044: "fstatfs", 1043: "fstatfs", 1038: "utimensat", 1037: "utimensat", 1036: "futimesat", 1035: "futimesat", 1030: "sync", 1029: "sync", 1028: "syncfs", 1027: "syncfs", 1026: "fsync", 1025: "fsync", 1024: "fdatasync", 1023: "fdatasync", 1022: "sync_file_range", 1021: "sync_file_range", 1020: "vmsplice", 1019: "vmsplice", 982: "setxattrat", 981: "setxattrat", 980: "setxattr", 979: "setxattr", 978: "lsetxattr", 977: "lsetxattr", 976: "fsetxattr", 975: "fsetxattr", 974: "getxattrat", 973: "getxattrat", 972: "getxattr", 971: "getxattr", 970: "lgetxattr", 969: "lgetxattr", 968: "fgetxattr", 967: "fgetxattr", 966: "listxattrat", 965: "listxattrat", 964: "listxattr", 963: "listxattr", 962: "llistxattr", 961: "llistxattr", 960: "flistxattr", 959: "flistxattr", 958: "removexattrat", 957: "removexattrat", 956: "removexattr", 955: "removexattr", 954: "lremovexattr", 953: "lremovexattr", 952: "fremovexattr", 951: "fremovexattr", 948: "open_tree", 947: "open_tree", 938: "mount_setattr", 937: "mount_setattr", 930: "close_range", 929: "close_range", 928: "dup3", 927: "dup3", 926: "dup2", 925: "dup2", 924: "dup", 923: "dup", 910: "getdents", 909: "getdents", 908: "getdents64", 907: "getdents64", 906: "ioctl", 905: "ioctl", 904: "fcntl", 903: "fcntl", 898: "mkdirat", 897: "mkdirat", 896: "mkdir", 895: "mkdir", 894: "rmdir", 893: "rmdir", 892: "unlinkat", 891: "unlinkat", 890: "unlink", 889: "unlink", 888: "symlinkat", 887: "symlinkat", 886: "symlink", 885: "symlink", 884: "linkat", 883: "linkat", 882: "link", 881: "link", 880: "renameat2", 879: "renameat2", 878: "renameat", 877: "renameat", 876: "rename", 875: "rename", 866: "newstat", 865: "newstat", 864: "newlstat", 863: "newlstat", 862: "newfstatat", 861: "newfstatat", 860: "newfstat", 859: "newfstat", 858: "readlinkat", 857: "readlinkat", 856: "readlink", 855: "readlink", 854: "statx", 853: "statx", 852: "lseek", 851: "lseek", 850: "read", 849: "read", 848: "write", 847: "write", 846: "pread64", 845: "pread64", 844: "pwrite64", 843: "pwrite64", 842: "readv", 841: "readv", 840: "writev", 839: "writev", 838: "preadv", 837: "preadv", 836: "preadv2", 835: "preadv2", 834: "pwritev", 833: "pwritev", 832: "pwritev2", 831: "pwritev2", 826: "truncate", 825: "truncate", 824: "ftruncate", 823: "ftruncate", 822: "fallocate", 821: "fallocate", 820: "faccessat", 819: "faccessat", 818: "faccessat2", 817: "faccessat2", 816: "access", 815: "access", 814: "chdir", 813: "chdir", 812: "fchdir", 811: "fchdir", 810: "chroot", 809: "chroot", 808: "fchmod", 807: "fchmod", 806: "fchmodat2", 805: "fchmodat2", 804: "fchmodat", 803: "fchmodat", 802: "chmod", 801: "chmod", 800: "fchownat", 799: "fchownat", 798: "chown", 797: "chown", 796: "lchown", 795: "lchown", 794: "fchown", 793: "fchown", 792: "open", 791: "open", 790: "openat", 789: "openat", 788: "openat2", 787: "openat2", 786: "creat", 785: "creat", 784: "close", 783: "close", 620: "readahead", 619: "readahead", 618: "fadvise64", 617: "fadvise64", 599: "cachestat", 598: "cachestat", 409: "finit_module", 408: "finit_module", 349: "syslog", 348: "syslog", 102: "mmap", 101: "mmap",
}
func (s TraceId) String() string {
@@ -51,6 +51,8 @@ const ENTER_PATH_EVENT = 11
const EXIT_PATH_EVENT = 12
const ENTER_FCNTL_EVENT = 13
const EXIT_FCNTL_EVENT = 14
+const ENTER_DUP3_EVENT = 15
+const EXIT_DUP3_EVENT = 16
type OpenEvent struct {
EventType EventType
@@ -406,6 +408,57 @@ func (f *FcntlEvent) Recycle() {
poolOfFcntlEvents.Put(f)
}
+type Dup3Event struct {
+ EventType EventType
+ TraceId TraceId
+ Time uint64
+ Pid uint32
+ Tid uint32
+ Fd int32
+ Flags int32
+}
+
+func (d Dup3Event) String() string {
+ return fmt.Sprintf("EventType:%v TraceId:%v Time:%v Pid:%v Tid:%v Fd:%v Flags:%v", d.EventType, d.TraceId, d.Time, d.Pid, d.Tid, d.Fd, d.Flags)
+}
+
+func (d *Dup3Event) GetEventType() EventType {
+ return d.EventType
+}
+
+func (d *Dup3Event) GetTraceId() TraceId {
+ return d.TraceId
+}
+
+func (d *Dup3Event) GetPid() uint32 {
+ return d.Pid
+}
+
+func (d *Dup3Event) GetTid() uint32 {
+ return d.Tid
+}
+
+func (d *Dup3Event) GetTime() uint64 {
+ return d.Time
+}
+
+var poolOfDup3Events = sync.Pool{
+ New: func() interface{} { return &Dup3Event{} },
+}
+
+func NewDup3Event(raw []byte) *Dup3Event {
+ d := poolOfDup3Events.Get().(*Dup3Event)
+ if err := binary.Read(bytes.NewReader(raw), binary.LittleEndian, d); err != nil {
+ fmt.Println(d, raw, len(raw), err)
+ panic(raw)
+ }
+ return d
+}
+
+func (d *Dup3Event) Recycle() {
+ poolOfDup3Events.Put(d)
+}
+
const SYS_ENTER_IO_URING_REGISTER TraceId = 1513
const SYS_EXIT_IO_URING_REGISTER TraceId = 1512
const SYS_ENTER_IO_URING_ENTER TraceId = 1494
@@ -492,6 +545,8 @@ const SYS_ENTER_MOUNT_SETATTR TraceId = 938
const SYS_EXIT_MOUNT_SETATTR TraceId = 937
const SYS_ENTER_CLOSE_RANGE TraceId = 930
const SYS_EXIT_CLOSE_RANGE TraceId = 929
+const SYS_ENTER_DUP3 TraceId = 928
+const SYS_EXIT_DUP3 TraceId = 927
const SYS_ENTER_DUP2 TraceId = 926
const SYS_EXIT_DUP2 TraceId = 925
const SYS_ENTER_DUP TraceId = 924