From d266a7244878a9c2e144d1da2b096cbc155de1fc Mon Sep 17 00:00:00 2001 From: LucaGuerra Date: Thu, 1 Feb 2024 02:21:38 +0000 Subject: [PATCH] update(driver): update syscalls tables and driver report. Signed-off-by: GitHub --- docs/report.md | 411 +++++++++ driver/SCHEMA_VERSION | 2 +- driver/ppm_events_public.h | 42 +- driver/syscall_compat_aarch64.h | 51 +- driver/syscall_compat_ppc64le.h | 1195 +++++++++++++++++++++++++ driver/syscall_compat_riscv64.h | 967 ++++++++++++++++++++ driver/syscall_compat_s390x.h | 78 +- driver/syscall_compat_x86_64.h | 69 +- driver/syscall_ia32_64_map.c | 456 ++++++++++ driver/syscall_table.c | 240 +++++ userspace/libscap/linux/scap_ppm_sc.c | 4 +- 11 files changed, 3460 insertions(+), 55 deletions(-) create mode 100644 docs/report.md create mode 100644 driver/syscall_compat_ppc64le.h create mode 100644 driver/syscall_compat_riscv64.h create mode 100644 driver/syscall_ia32_64_map.c diff --git a/docs/report.md b/docs/report.md new file mode 100644 index 00000000000..19a0fc4eea4 --- /dev/null +++ b/docs/report.md @@ -0,0 +1,411 @@ +| SYSCALL | SUPPORTED | ARCHITECTURE | +|-------------------------|-----------|--------------------------------------| +| _llseek | 🟢 | ppc64le | +| _newselect | 🟡 | ppc64le | +| accept | 🟢 | aarch64,ppc64le,riscv64,x86_64 | +| accept4 | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| access | 🟢 | ppc64le,s390x,x86_64 | +| acct | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| add_key | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| adjtimex | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| alarm | 🟡 | ppc64le,s390x,x86_64 | +| arch_prctl | 🟡 | x86_64 | +| bind | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| bpf | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| brk | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| cachestat | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| capget | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| capset | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| chdir | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| chmod | 🟢 | ppc64le,s390x,x86_64 | +| chown | 🟢 | ppc64le,s390x,x86_64 | +| chroot | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| clock_adjtime | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| clock_getres | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| clock_gettime | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| clock_nanosleep | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| clock_settime | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| clone | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| clone3 | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| close | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| close_range | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| connect | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| copy_file_range | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| creat | 🟢 | ppc64le,s390x,x86_64 | +| delete_module | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| dup | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| dup2 | 🟢 | ppc64le,s390x,x86_64 | +| dup3 | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| epoll_create | 🟢 | ppc64le,s390x,x86_64 | +| epoll_create1 | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| epoll_ctl | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| epoll_ctl_old | 🟡 | x86_64 | +| epoll_pwait | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| epoll_pwait2 | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| epoll_wait | 🟢 | ppc64le,s390x,x86_64 | +| epoll_wait_old | 🟡 | x86_64 | +| eventfd | 🟢 | ppc64le,s390x,x86_64 | +| eventfd2 | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| execve | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| execveat | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| exit | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| exit_group | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| faccessat | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| faccessat2 | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| fadvise64 | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| fallocate | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| fanotify_init | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| fanotify_mark | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| fchdir | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| fchmod | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| fchmodat | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| fchmodat2 | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| fchown | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| fchownat | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| fcntl | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| fdatasync | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| fgetxattr | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| finit_module | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| flistxattr | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| flock | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| fork | 🟢 | ppc64le,s390x,x86_64 | +| fremovexattr | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| fsconfig | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| fsetxattr | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| fsmount | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| fsopen | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| fspick | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| fstat | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| fstatfs | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| fstatfs64 | 🟡 | ppc64le,s390x | +| fsync | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| ftruncate | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| futex | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| futex_requeue | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| futex_wait | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| futex_waitv | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| futex_wake | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| futimesat | 🟡 | ppc64le,s390x,x86_64 | +| get_mempolicy | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| get_robust_list | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| get_thread_area | 🟡 | x86_64 | +| getcpu | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| getcwd | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| getdents | 🟢 | ppc64le,s390x,x86_64 | +| getdents64 | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| getegid | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| geteuid | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| getgid | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| getgroups | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| getitimer | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| getpeername | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| getpgid | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| getpgrp | 🟡 | ppc64le,s390x,x86_64 | +| getpid | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| getppid | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| getpriority | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| getrandom | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| getresgid | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| getresuid | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| getrlimit | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| getrusage | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| getsid | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| getsockname | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| getsockopt | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| gettid | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| gettimeofday | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| getuid | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| getxattr | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| init_module | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| inotify_add_watch | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| inotify_init | 🟢 | ppc64le,s390x,x86_64 | +| inotify_init1 | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| inotify_rm_watch | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| io_cancel | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| io_destroy | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| io_getevents | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| io_pgetevents | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| io_setup | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| io_submit | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| io_uring_enter | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| io_uring_register | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| io_uring_setup | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| ioctl | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| ioperm | 🟡 | ppc64le,x86_64 | +| iopl | 🟡 | ppc64le,x86_64 | +| ioprio_get | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| ioprio_set | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| ipc | 🟡 | ppc64le,s390x | +| kcmp | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| kexec_file_load | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| kexec_load | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| keyctl | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| kill | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| landlock_add_rule | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| landlock_create_ruleset | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| landlock_restrict_self | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| lchown | 🟢 | ppc64le,s390x,x86_64 | +| lgetxattr | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| link | 🟢 | ppc64le,s390x,x86_64 | +| linkat | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| listen | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| listmount | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| listxattr | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| llistxattr | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| lookup_dcookie | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| lremovexattr | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| lseek | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| lsetxattr | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| lsm_get_self_attr | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| lsm_list_modules | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| lsm_set_self_attr | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| lstat | 🟢 | ppc64le,s390x,x86_64 | +| madvise | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| map_shadow_stack | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| mbind | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| membarrier | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| memfd_create | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| memfd_secret | 🟡 | aarch64,riscv64,s390x,x86_64 | +| migrate_pages | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| mincore | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| mkdir | 🟢 | ppc64le,s390x,x86_64 | +| mkdirat | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| mknod | 🟡 | ppc64le,s390x,x86_64 | +| mknodat | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| mlock | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| mlock2 | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| mlockall | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| mmap | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| modify_ldt | 🟡 | ppc64le,x86_64 | +| mount | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| mount_setattr | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| move_mount | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| move_pages | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| mprotect | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| mq_getsetattr | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| mq_notify | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| mq_open | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| mq_timedreceive | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| mq_timedsend | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| mq_unlink | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| mremap | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| msgctl | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| msgget | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| msgrcv | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| msgsnd | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| msync | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| multiplexer | 🟡 | ppc64le | +| munlock | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| munlockall | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| munmap | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| name_to_handle_at | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| nanosleep | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| newfstatat | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| nice | 🟡 | ppc64le,s390x | +| oldfstat | 🟡 | ppc64le | +| oldlstat | 🟡 | ppc64le | +| oldolduname | 🟡 | ppc64le | +| oldstat | 🟡 | ppc64le | +| olduname | 🟡 | ppc64le | +| open | 🟢 | ppc64le,s390x,x86_64 | +| open_by_handle_at | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| open_tree | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| openat | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| openat2 | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| pause | 🟡 | ppc64le,s390x,x86_64 | +| pciconfig_iobase | 🟡 | ppc64le | +| pciconfig_read | 🟡 | ppc64le | +| pciconfig_write | 🟡 | ppc64le | +| perf_event_open | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| personality | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| pidfd_getfd | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| pidfd_open | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| pidfd_send_signal | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| pipe | 🟢 | ppc64le,s390x,x86_64 | +| pipe2 | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| pivot_root | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| pkey_alloc | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| pkey_free | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| pkey_mprotect | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| poll | 🟢 | ppc64le,s390x,x86_64 | +| ppoll | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| prctl | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| pread64 | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| preadv | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| preadv2 | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| prlimit64 | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| process_madvise | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| process_mrelease | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| process_vm_readv | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| process_vm_writev | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| pselect6 | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| ptrace | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| pwrite64 | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| pwritev | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| pwritev2 | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| quotactl | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| quotactl_fd | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| read | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| readahead | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| readdir | 🟡 | ppc64le,s390x | +| readlink | 🟡 | ppc64le,s390x,x86_64 | +| readlinkat | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| readv | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| reboot | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| recv | 🟢 | ppc64le | +| recvfrom | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| recvmmsg | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| recvmsg | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| remap_file_pages | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| removexattr | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| rename | 🟢 | ppc64le,s390x,x86_64 | +| renameat | 🟢 | aarch64,ppc64le,s390x,x86_64 | +| renameat2 | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| request_key | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| restart_syscall | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| riscv_flush_icache | 🟡 | riscv64 | +| riscv_hwprobe | 🟡 | riscv64 | +| rmdir | 🟢 | ppc64le,s390x,x86_64 | +| rseq | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| rt_sigaction | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| rt_sigpending | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| rt_sigprocmask | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| rt_sigqueueinfo | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| rt_sigreturn | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| rt_sigsuspend | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| rt_sigtimedwait | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| rt_tgsigqueueinfo | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| rtas | 🟡 | ppc64le | +| s390_guarded_storage | 🟡 | s390x | +| s390_pci_mmio_read | 🟡 | s390x | +| s390_pci_mmio_write | 🟡 | s390x | +| s390_runtime_instr | 🟡 | s390x | +| s390_sthyi | 🟡 | s390x | +| sched_get_priority_max | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| sched_get_priority_min | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| sched_getaffinity | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| sched_getattr | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| sched_getparam | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| sched_getscheduler | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| sched_rr_get_interval | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| sched_setaffinity | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| sched_setattr | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| sched_setparam | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| sched_setscheduler | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| sched_yield | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| seccomp | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| select | 🟢 | ppc64le,s390x,x86_64 | +| semctl | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| semget | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| semop | 🟢 | aarch64,riscv64,x86_64 | +| semtimedop | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| send | 🟢 | ppc64le | +| sendfile | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| sendmmsg | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| sendmsg | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| sendto | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| set_mempolicy | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| set_mempolicy_home_node | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| set_robust_list | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| set_thread_area | 🟡 | x86_64 | +| set_tid_address | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| setdomainname | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| setfsgid | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| setfsuid | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| setgid | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| setgroups | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| sethostname | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| setitimer | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| setns | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| setpgid | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| setpriority | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| setregid | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| setresgid | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| setresuid | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| setreuid | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| setrlimit | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| setsid | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| setsockopt | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| settimeofday | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| setuid | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| setxattr | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| sgetmask | 🟡 | ppc64le | +| shmat | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| shmctl | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| shmdt | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| shmget | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| shutdown | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| sigaction | 🟡 | ppc64le,s390x | +| sigaltstack | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| signal | 🟡 | ppc64le,s390x | +| signalfd | 🟢 | ppc64le,s390x,x86_64 | +| signalfd4 | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| sigpending | 🟡 | ppc64le,s390x | +| sigprocmask | 🟡 | ppc64le,s390x | +| sigreturn | 🟡 | ppc64le,s390x | +| sigsuspend | 🟡 | ppc64le,s390x | +| socket | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| socketcall | 🟡 | ppc64le,s390x | +| socketpair | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| splice | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| spu_create | 🟡 | ppc64le | +| spu_run | 🟡 | ppc64le | +| ssetmask | 🟡 | ppc64le | +| stat | 🟢 | ppc64le,s390x,x86_64 | +| statfs | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| statfs64 | 🟡 | ppc64le,s390x | +| statmount | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| statx | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| stime | 🟡 | ppc64le | +| subpage_prot | 🟡 | ppc64le | +| swapcontext | 🟡 | ppc64le | +| swapoff | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| swapon | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| switch_endian | 🟡 | ppc64le | +| symlink | 🟢 | ppc64le,s390x,x86_64 | +| symlinkat | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| sync | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| sync_file_range | 🟡 | aarch64,riscv64,s390x,x86_64 | +| sync_file_range2 | 🟡 | ppc64le | +| syncfs | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| sys_debug_setcontext | 🟡 | ppc64le | +| sysfs | 🟡 | ppc64le,s390x,x86_64 | +| sysinfo | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| syslog | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| tee | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| tgkill | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| time | 🟡 | ppc64le,x86_64 | +| timer_create | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| timer_delete | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| timer_getoverrun | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| timer_gettime | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| timer_settime | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| timerfd | 🟡 | s390x | +| timerfd_create | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| timerfd_gettime | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| timerfd_settime | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| times | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| tkill | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| truncate | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| ugetrlimit | 🟢 | ppc64le | +| umask | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| umount | 🟢 | ppc64le,s390x | +| umount2 | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| uname | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| unlink | 🟢 | ppc64le,s390x,x86_64 | +| unlinkat | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| unshare | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| userfaultfd | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| ustat | 🟡 | ppc64le,s390x,x86_64 | +| utime | 🟡 | ppc64le,s390x,x86_64 | +| utimensat | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| utimes | 🟡 | ppc64le,s390x,x86_64 | +| vfork | 🟢 | ppc64le,s390x,x86_64 | +| vhangup | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| vm86 | 🟡 | ppc64le | +| vmsplice | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| wait4 | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| waitid | 🟡 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| waitpid | 🟡 | ppc64le | +| write | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| writev | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | diff --git a/driver/SCHEMA_VERSION b/driver/SCHEMA_VERSION index 276cbf9e285..2bf1c1ccf36 100644 --- a/driver/SCHEMA_VERSION +++ b/driver/SCHEMA_VERSION @@ -1 +1 @@ -2.3.0 +2.3.1 diff --git a/driver/ppm_events_public.h b/driver/ppm_events_public.h index 6a3192babbf..b05b891a619 100644 --- a/driver/ppm_events_public.h +++ b/driver/ppm_events_public.h @@ -1630,7 +1630,47 @@ enum extra_event_prog_code PPM_SC_X(SCHED_SWITCH, 397) \ PPM_SC_X(PAGE_FAULT_USER, 398) \ PPM_SC_X(PAGE_FAULT_KERNEL, 399) \ - PPM_SC_X(SIGNAL_DELIVER, 400) + PPM_SC_X(SIGNAL_DELIVER, 400) \ + PPM_SC_X(S390_STHYI, 401) \ + PPM_SC_X(VM86, 402) \ + PPM_SC_X(FUTEX_WAKE, 403) \ + PPM_SC_X(SIGSUSPEND, 404) \ + PPM_SC_X(LSM_LIST_MODULES, 405) \ + PPM_SC_X(LISTMOUNT, 406) \ + PPM_SC_X(S390_RUNTIME_INSTR, 407) \ + PPM_SC_X(SWITCH_ENDIAN, 408) \ + PPM_SC_X(SUBPAGE_PROT, 409) \ + PPM_SC_X(OLDSTAT, 410) \ + PPM_SC_X(PCICONFIG_IOBASE, 411) \ + PPM_SC_X(OLDLSTAT, 412) \ + PPM_SC_X(FUTEX_REQUEUE, 413) \ + PPM_SC_X(MAP_SHADOW_STACK, 414) \ + PPM_SC_X(STATMOUNT, 415) \ + PPM_SC_X(TIMERFD, 416) \ + PPM_SC_X(S390_PCI_MMIO_WRITE, 417) \ + PPM_SC_X(SPU_RUN, 418) \ + PPM_SC_X(CACHESTAT, 419) \ + PPM_SC_X(RTAS, 420) \ + PPM_SC_X(FCHMODAT2, 421) \ + PPM_SC_X(PCICONFIG_READ, 422) \ + PPM_SC_X(LSM_SET_SELF_ATTR, 423) \ + PPM_SC_X(PCICONFIG_WRITE, 424) \ + PPM_SC_X(SPU_CREATE, 425) \ + PPM_SC_X(MULTIPLEXER, 426) \ + PPM_SC_X(OLDFSTAT, 427) \ + PPM_SC_X(SIGACTION, 428) \ + PPM_SC_X(SWAPCONTEXT, 429) \ + PPM_SC_X(SIGRETURN, 430) \ + PPM_SC_X(OLDOLDUNAME, 431) \ + PPM_SC_X(SYS_DEBUG_SETCONTEXT, 432) \ + PPM_SC_X(SYNC_FILE_RANGE2, 433) \ + PPM_SC_X(RISCV_FLUSH_ICACHE, 434) \ + PPM_SC_X(S390_GUARDED_STORAGE, 435) \ + PPM_SC_X(READDIR, 436) \ + PPM_SC_X(FUTEX_WAIT, 437) \ + PPM_SC_X(LSM_GET_SELF_ATTR, 438) \ + PPM_SC_X(RISCV_HWPROBE, 439) \ + PPM_SC_X(S390_PCI_MMIO_READ, 440) typedef enum { #define PPM_SC_X(name, value) PPM_SC_##name = (value), diff --git a/driver/syscall_compat_aarch64.h b/driver/syscall_compat_aarch64.h index 31d9ef4c99a..94fb1e5cc8d 100644 --- a/driver/syscall_compat_aarch64.h +++ b/driver/syscall_compat_aarch64.h @@ -1,3 +1,18 @@ +// SPDX-License-Identifier: GPL-2.0-only OR MIT +/* + +Copyright (C) 2023 The Falco Authors. + +This file is dual licensed under either the MIT or GPL 2. See MIT.txt +or GPL2.txt for full copies of the license. + +*/ + +/* + * This file was automatically created by syscalls-bumper (https://github.com/falcosecurity/syscalls-bumper).") + * DO NOT EDIT THIS FILE MANUALLY.") + */ + #pragma once #ifndef __NR_io_setup #define __NR_io_setup 0 @@ -125,9 +140,6 @@ #ifndef __NR_pivot_root #define __NR_pivot_root 41 #endif -#ifndef __NR_nfsservctl -#define __NR_nfsservctl 42 -#endif #ifndef __NR_statfs #define __NR_statfs 43 #endif @@ -917,3 +929,36 @@ #ifndef __NR_set_mempolicy_home_node #define __NR_set_mempolicy_home_node 450 #endif +#ifndef __NR_cachestat +#define __NR_cachestat 451 +#endif +#ifndef __NR_fchmodat2 +#define __NR_fchmodat2 452 +#endif +#ifndef __NR_map_shadow_stack +#define __NR_map_shadow_stack 453 +#endif +#ifndef __NR_futex_wake +#define __NR_futex_wake 454 +#endif +#ifndef __NR_futex_wait +#define __NR_futex_wait 455 +#endif +#ifndef __NR_futex_requeue +#define __NR_futex_requeue 456 +#endif +#ifndef __NR_statmount +#define __NR_statmount 457 +#endif +#ifndef __NR_listmount +#define __NR_listmount 458 +#endif +#ifndef __NR_lsm_get_self_attr +#define __NR_lsm_get_self_attr 459 +#endif +#ifndef __NR_lsm_set_self_attr +#define __NR_lsm_set_self_attr 460 +#endif +#ifndef __NR_lsm_list_modules +#define __NR_lsm_list_modules 461 +#endif diff --git a/driver/syscall_compat_ppc64le.h b/driver/syscall_compat_ppc64le.h new file mode 100644 index 00000000000..6e7140c9162 --- /dev/null +++ b/driver/syscall_compat_ppc64le.h @@ -0,0 +1,1195 @@ +// SPDX-License-Identifier: GPL-2.0-only OR MIT +/* + +Copyright (C) 2023 The Falco Authors. + +This file is dual licensed under either the MIT or GPL 2. See MIT.txt +or GPL2.txt for full copies of the license. + +*/ + +/* + * This file was automatically created by syscalls-bumper (https://github.com/falcosecurity/syscalls-bumper).") + * DO NOT EDIT THIS FILE MANUALLY.") + */ + +#pragma once +#ifndef __NR_restart_syscall +#define __NR_restart_syscall 0 +#endif +#ifndef __NR_exit +#define __NR_exit 1 +#endif +#ifndef __NR_fork +#define __NR_fork 2 +#endif +#ifndef __NR_read +#define __NR_read 3 +#endif +#ifndef __NR_write +#define __NR_write 4 +#endif +#ifndef __NR_open +#define __NR_open 5 +#endif +#ifndef __NR_close +#define __NR_close 6 +#endif +#ifndef __NR_waitpid +#define __NR_waitpid 7 +#endif +#ifndef __NR_creat +#define __NR_creat 8 +#endif +#ifndef __NR_link +#define __NR_link 9 +#endif +#ifndef __NR_unlink +#define __NR_unlink 10 +#endif +#ifndef __NR_execve +#define __NR_execve 11 +#endif +#ifndef __NR_chdir +#define __NR_chdir 12 +#endif +#ifndef __NR_time +#define __NR_time 13 +#endif +#ifndef __NR_mknod +#define __NR_mknod 14 +#endif +#ifndef __NR_chmod +#define __NR_chmod 15 +#endif +#ifndef __NR_lchown +#define __NR_lchown 16 +#endif +#ifndef __NR_oldstat +#define __NR_oldstat 18 +#endif +#ifndef __NR_lseek +#define __NR_lseek 19 +#endif +#ifndef __NR_getpid +#define __NR_getpid 20 +#endif +#ifndef __NR_mount +#define __NR_mount 21 +#endif +#ifndef __NR_umount +#define __NR_umount 22 +#endif +#ifndef __NR_setuid +#define __NR_setuid 23 +#endif +#ifndef __NR_getuid +#define __NR_getuid 24 +#endif +#ifndef __NR_stime +#define __NR_stime 25 +#endif +#ifndef __NR_ptrace +#define __NR_ptrace 26 +#endif +#ifndef __NR_alarm +#define __NR_alarm 27 +#endif +#ifndef __NR_oldfstat +#define __NR_oldfstat 28 +#endif +#ifndef __NR_pause +#define __NR_pause 29 +#endif +#ifndef __NR_utime +#define __NR_utime 30 +#endif +#ifndef __NR_access +#define __NR_access 33 +#endif +#ifndef __NR_nice +#define __NR_nice 34 +#endif +#ifndef __NR_sync +#define __NR_sync 36 +#endif +#ifndef __NR_kill +#define __NR_kill 37 +#endif +#ifndef __NR_rename +#define __NR_rename 38 +#endif +#ifndef __NR_mkdir +#define __NR_mkdir 39 +#endif +#ifndef __NR_rmdir +#define __NR_rmdir 40 +#endif +#ifndef __NR_dup +#define __NR_dup 41 +#endif +#ifndef __NR_pipe +#define __NR_pipe 42 +#endif +#ifndef __NR_times +#define __NR_times 43 +#endif +#ifndef __NR_brk +#define __NR_brk 45 +#endif +#ifndef __NR_setgid +#define __NR_setgid 46 +#endif +#ifndef __NR_getgid +#define __NR_getgid 47 +#endif +#ifndef __NR_signal +#define __NR_signal 48 +#endif +#ifndef __NR_geteuid +#define __NR_geteuid 49 +#endif +#ifndef __NR_getegid +#define __NR_getegid 50 +#endif +#ifndef __NR_acct +#define __NR_acct 51 +#endif +#ifndef __NR_umount2 +#define __NR_umount2 52 +#endif +#ifndef __NR_ioctl +#define __NR_ioctl 54 +#endif +#ifndef __NR_fcntl +#define __NR_fcntl 55 +#endif +#ifndef __NR_setpgid +#define __NR_setpgid 57 +#endif +#ifndef __NR_oldolduname +#define __NR_oldolduname 59 +#endif +#ifndef __NR_umask +#define __NR_umask 60 +#endif +#ifndef __NR_chroot +#define __NR_chroot 61 +#endif +#ifndef __NR_ustat +#define __NR_ustat 62 +#endif +#ifndef __NR_dup2 +#define __NR_dup2 63 +#endif +#ifndef __NR_getppid +#define __NR_getppid 64 +#endif +#ifndef __NR_getpgrp +#define __NR_getpgrp 65 +#endif +#ifndef __NR_setsid +#define __NR_setsid 66 +#endif +#ifndef __NR_sigaction +#define __NR_sigaction 67 +#endif +#ifndef __NR_sgetmask +#define __NR_sgetmask 68 +#endif +#ifndef __NR_ssetmask +#define __NR_ssetmask 69 +#endif +#ifndef __NR_setreuid +#define __NR_setreuid 70 +#endif +#ifndef __NR_setregid +#define __NR_setregid 71 +#endif +#ifndef __NR_sigsuspend +#define __NR_sigsuspend 72 +#endif +#ifndef __NR_sigpending +#define __NR_sigpending 73 +#endif +#ifndef __NR_sethostname +#define __NR_sethostname 74 +#endif +#ifndef __NR_setrlimit +#define __NR_setrlimit 75 +#endif +#ifndef __NR_getrlimit +#define __NR_getrlimit 76 +#endif +#ifndef __NR_getrusage +#define __NR_getrusage 77 +#endif +#ifndef __NR_gettimeofday +#define __NR_gettimeofday 78 +#endif +#ifndef __NR_settimeofday +#define __NR_settimeofday 79 +#endif +#ifndef __NR_getgroups +#define __NR_getgroups 80 +#endif +#ifndef __NR_setgroups +#define __NR_setgroups 81 +#endif +#ifndef __NR_select +#define __NR_select 82 +#endif +#ifndef __NR_symlink +#define __NR_symlink 83 +#endif +#ifndef __NR_oldlstat +#define __NR_oldlstat 84 +#endif +#ifndef __NR_readlink +#define __NR_readlink 85 +#endif +#ifndef __NR_swapon +#define __NR_swapon 87 +#endif +#ifndef __NR_reboot +#define __NR_reboot 88 +#endif +#ifndef __NR_readdir +#define __NR_readdir 89 +#endif +#ifndef __NR_mmap +#define __NR_mmap 90 +#endif +#ifndef __NR_munmap +#define __NR_munmap 91 +#endif +#ifndef __NR_truncate +#define __NR_truncate 92 +#endif +#ifndef __NR_ftruncate +#define __NR_ftruncate 93 +#endif +#ifndef __NR_fchmod +#define __NR_fchmod 94 +#endif +#ifndef __NR_fchown +#define __NR_fchown 95 +#endif +#ifndef __NR_getpriority +#define __NR_getpriority 96 +#endif +#ifndef __NR_setpriority +#define __NR_setpriority 97 +#endif +#ifndef __NR_statfs +#define __NR_statfs 99 +#endif +#ifndef __NR_fstatfs +#define __NR_fstatfs 100 +#endif +#ifndef __NR_ioperm +#define __NR_ioperm 101 +#endif +#ifndef __NR_socketcall +#define __NR_socketcall 102 +#endif +#ifndef __NR_syslog +#define __NR_syslog 103 +#endif +#ifndef __NR_setitimer +#define __NR_setitimer 104 +#endif +#ifndef __NR_getitimer +#define __NR_getitimer 105 +#endif +#ifndef __NR_stat +#define __NR_stat 106 +#endif +#ifndef __NR_lstat +#define __NR_lstat 107 +#endif +#ifndef __NR_fstat +#define __NR_fstat 108 +#endif +#ifndef __NR_olduname +#define __NR_olduname 109 +#endif +#ifndef __NR_iopl +#define __NR_iopl 110 +#endif +#ifndef __NR_vhangup +#define __NR_vhangup 111 +#endif +#ifndef __NR_vm86 +#define __NR_vm86 113 +#endif +#ifndef __NR_wait4 +#define __NR_wait4 114 +#endif +#ifndef __NR_swapoff +#define __NR_swapoff 115 +#endif +#ifndef __NR_sysinfo +#define __NR_sysinfo 116 +#endif +#ifndef __NR_ipc +#define __NR_ipc 117 +#endif +#ifndef __NR_fsync +#define __NR_fsync 118 +#endif +#ifndef __NR_sigreturn +#define __NR_sigreturn 119 +#endif +#ifndef __NR_clone +#define __NR_clone 120 +#endif +#ifndef __NR_setdomainname +#define __NR_setdomainname 121 +#endif +#ifndef __NR_uname +#define __NR_uname 122 +#endif +#ifndef __NR_modify_ldt +#define __NR_modify_ldt 123 +#endif +#ifndef __NR_adjtimex +#define __NR_adjtimex 124 +#endif +#ifndef __NR_mprotect +#define __NR_mprotect 125 +#endif +#ifndef __NR_sigprocmask +#define __NR_sigprocmask 126 +#endif +#ifndef __NR_init_module +#define __NR_init_module 128 +#endif +#ifndef __NR_delete_module +#define __NR_delete_module 129 +#endif +#ifndef __NR_quotactl +#define __NR_quotactl 131 +#endif +#ifndef __NR_getpgid +#define __NR_getpgid 132 +#endif +#ifndef __NR_fchdir +#define __NR_fchdir 133 +#endif +#ifndef __NR_sysfs +#define __NR_sysfs 135 +#endif +#ifndef __NR_personality +#define __NR_personality 136 +#endif +#ifndef __NR_setfsuid +#define __NR_setfsuid 138 +#endif +#ifndef __NR_setfsgid +#define __NR_setfsgid 139 +#endif +#ifndef __NR__llseek +#define __NR__llseek 140 +#endif +#ifndef __NR_getdents +#define __NR_getdents 141 +#endif +#ifndef __NR__newselect +#define __NR__newselect 142 +#endif +#ifndef __NR_flock +#define __NR_flock 143 +#endif +#ifndef __NR_msync +#define __NR_msync 144 +#endif +#ifndef __NR_readv +#define __NR_readv 145 +#endif +#ifndef __NR_writev +#define __NR_writev 146 +#endif +#ifndef __NR_getsid +#define __NR_getsid 147 +#endif +#ifndef __NR_fdatasync +#define __NR_fdatasync 148 +#endif +#ifndef __NR_mlock +#define __NR_mlock 150 +#endif +#ifndef __NR_munlock +#define __NR_munlock 151 +#endif +#ifndef __NR_mlockall +#define __NR_mlockall 152 +#endif +#ifndef __NR_munlockall +#define __NR_munlockall 153 +#endif +#ifndef __NR_sched_setparam +#define __NR_sched_setparam 154 +#endif +#ifndef __NR_sched_getparam +#define __NR_sched_getparam 155 +#endif +#ifndef __NR_sched_setscheduler +#define __NR_sched_setscheduler 156 +#endif +#ifndef __NR_sched_getscheduler +#define __NR_sched_getscheduler 157 +#endif +#ifndef __NR_sched_yield +#define __NR_sched_yield 158 +#endif +#ifndef __NR_sched_get_priority_max +#define __NR_sched_get_priority_max 159 +#endif +#ifndef __NR_sched_get_priority_min +#define __NR_sched_get_priority_min 160 +#endif +#ifndef __NR_sched_rr_get_interval +#define __NR_sched_rr_get_interval 161 +#endif +#ifndef __NR_nanosleep +#define __NR_nanosleep 162 +#endif +#ifndef __NR_mremap +#define __NR_mremap 163 +#endif +#ifndef __NR_setresuid +#define __NR_setresuid 164 +#endif +#ifndef __NR_getresuid +#define __NR_getresuid 165 +#endif +#ifndef __NR_poll +#define __NR_poll 167 +#endif +#ifndef __NR_setresgid +#define __NR_setresgid 169 +#endif +#ifndef __NR_getresgid +#define __NR_getresgid 170 +#endif +#ifndef __NR_prctl +#define __NR_prctl 171 +#endif +#ifndef __NR_rt_sigreturn +#define __NR_rt_sigreturn 172 +#endif +#ifndef __NR_rt_sigaction +#define __NR_rt_sigaction 173 +#endif +#ifndef __NR_rt_sigprocmask +#define __NR_rt_sigprocmask 174 +#endif +#ifndef __NR_rt_sigpending +#define __NR_rt_sigpending 175 +#endif +#ifndef __NR_rt_sigtimedwait +#define __NR_rt_sigtimedwait 176 +#endif +#ifndef __NR_rt_sigqueueinfo +#define __NR_rt_sigqueueinfo 177 +#endif +#ifndef __NR_rt_sigsuspend +#define __NR_rt_sigsuspend 178 +#endif +#ifndef __NR_pread64 +#define __NR_pread64 179 +#endif +#ifndef __NR_pwrite64 +#define __NR_pwrite64 180 +#endif +#ifndef __NR_chown +#define __NR_chown 181 +#endif +#ifndef __NR_getcwd +#define __NR_getcwd 182 +#endif +#ifndef __NR_capget +#define __NR_capget 183 +#endif +#ifndef __NR_capset +#define __NR_capset 184 +#endif +#ifndef __NR_sigaltstack +#define __NR_sigaltstack 185 +#endif +#ifndef __NR_sendfile +#define __NR_sendfile 186 +#endif +#ifndef __NR_vfork +#define __NR_vfork 189 +#endif +#ifndef __NR_ugetrlimit +#define __NR_ugetrlimit 190 +#endif +#ifndef __NR_readahead +#define __NR_readahead 191 +#endif +#ifndef __NR_pciconfig_read +#define __NR_pciconfig_read 198 +#endif +#ifndef __NR_pciconfig_write +#define __NR_pciconfig_write 199 +#endif +#ifndef __NR_pciconfig_iobase +#define __NR_pciconfig_iobase 200 +#endif +#ifndef __NR_multiplexer +#define __NR_multiplexer 201 +#endif +#ifndef __NR_getdents64 +#define __NR_getdents64 202 +#endif +#ifndef __NR_pivot_root +#define __NR_pivot_root 203 +#endif +#ifndef __NR_madvise +#define __NR_madvise 205 +#endif +#ifndef __NR_mincore +#define __NR_mincore 206 +#endif +#ifndef __NR_gettid +#define __NR_gettid 207 +#endif +#ifndef __NR_tkill +#define __NR_tkill 208 +#endif +#ifndef __NR_setxattr +#define __NR_setxattr 209 +#endif +#ifndef __NR_lsetxattr +#define __NR_lsetxattr 210 +#endif +#ifndef __NR_fsetxattr +#define __NR_fsetxattr 211 +#endif +#ifndef __NR_getxattr +#define __NR_getxattr 212 +#endif +#ifndef __NR_lgetxattr +#define __NR_lgetxattr 213 +#endif +#ifndef __NR_fgetxattr +#define __NR_fgetxattr 214 +#endif +#ifndef __NR_listxattr +#define __NR_listxattr 215 +#endif +#ifndef __NR_llistxattr +#define __NR_llistxattr 216 +#endif +#ifndef __NR_flistxattr +#define __NR_flistxattr 217 +#endif +#ifndef __NR_removexattr +#define __NR_removexattr 218 +#endif +#ifndef __NR_lremovexattr +#define __NR_lremovexattr 219 +#endif +#ifndef __NR_fremovexattr +#define __NR_fremovexattr 220 +#endif +#ifndef __NR_futex +#define __NR_futex 221 +#endif +#ifndef __NR_sched_setaffinity +#define __NR_sched_setaffinity 222 +#endif +#ifndef __NR_sched_getaffinity +#define __NR_sched_getaffinity 223 +#endif +#ifndef __NR_io_setup +#define __NR_io_setup 227 +#endif +#ifndef __NR_io_destroy +#define __NR_io_destroy 228 +#endif +#ifndef __NR_io_getevents +#define __NR_io_getevents 229 +#endif +#ifndef __NR_io_submit +#define __NR_io_submit 230 +#endif +#ifndef __NR_io_cancel +#define __NR_io_cancel 231 +#endif +#ifndef __NR_set_tid_address +#define __NR_set_tid_address 232 +#endif +#ifndef __NR_fadvise64 +#define __NR_fadvise64 233 +#endif +#ifndef __NR_exit_group +#define __NR_exit_group 234 +#endif +#ifndef __NR_lookup_dcookie +#define __NR_lookup_dcookie 235 +#endif +#ifndef __NR_epoll_create +#define __NR_epoll_create 236 +#endif +#ifndef __NR_epoll_ctl +#define __NR_epoll_ctl 237 +#endif +#ifndef __NR_epoll_wait +#define __NR_epoll_wait 238 +#endif +#ifndef __NR_remap_file_pages +#define __NR_remap_file_pages 239 +#endif +#ifndef __NR_timer_create +#define __NR_timer_create 240 +#endif +#ifndef __NR_timer_settime +#define __NR_timer_settime 241 +#endif +#ifndef __NR_timer_gettime +#define __NR_timer_gettime 242 +#endif +#ifndef __NR_timer_getoverrun +#define __NR_timer_getoverrun 243 +#endif +#ifndef __NR_timer_delete +#define __NR_timer_delete 244 +#endif +#ifndef __NR_clock_settime +#define __NR_clock_settime 245 +#endif +#ifndef __NR_clock_gettime +#define __NR_clock_gettime 246 +#endif +#ifndef __NR_clock_getres +#define __NR_clock_getres 247 +#endif +#ifndef __NR_clock_nanosleep +#define __NR_clock_nanosleep 248 +#endif +#ifndef __NR_swapcontext +#define __NR_swapcontext 249 +#endif +#ifndef __NR_tgkill +#define __NR_tgkill 250 +#endif +#ifndef __NR_utimes +#define __NR_utimes 251 +#endif +#ifndef __NR_statfs64 +#define __NR_statfs64 252 +#endif +#ifndef __NR_fstatfs64 +#define __NR_fstatfs64 253 +#endif +#ifndef __NR_rtas +#define __NR_rtas 255 +#endif +#ifndef __NR_sys_debug_setcontext +#define __NR_sys_debug_setcontext 256 +#endif +#ifndef __NR_migrate_pages +#define __NR_migrate_pages 258 +#endif +#ifndef __NR_mbind +#define __NR_mbind 259 +#endif +#ifndef __NR_get_mempolicy +#define __NR_get_mempolicy 260 +#endif +#ifndef __NR_set_mempolicy +#define __NR_set_mempolicy 261 +#endif +#ifndef __NR_mq_open +#define __NR_mq_open 262 +#endif +#ifndef __NR_mq_unlink +#define __NR_mq_unlink 263 +#endif +#ifndef __NR_mq_timedsend +#define __NR_mq_timedsend 264 +#endif +#ifndef __NR_mq_timedreceive +#define __NR_mq_timedreceive 265 +#endif +#ifndef __NR_mq_notify +#define __NR_mq_notify 266 +#endif +#ifndef __NR_mq_getsetattr +#define __NR_mq_getsetattr 267 +#endif +#ifndef __NR_kexec_load +#define __NR_kexec_load 268 +#endif +#ifndef __NR_add_key +#define __NR_add_key 269 +#endif +#ifndef __NR_request_key +#define __NR_request_key 270 +#endif +#ifndef __NR_keyctl +#define __NR_keyctl 271 +#endif +#ifndef __NR_waitid +#define __NR_waitid 272 +#endif +#ifndef __NR_ioprio_set +#define __NR_ioprio_set 273 +#endif +#ifndef __NR_ioprio_get +#define __NR_ioprio_get 274 +#endif +#ifndef __NR_inotify_init +#define __NR_inotify_init 275 +#endif +#ifndef __NR_inotify_add_watch +#define __NR_inotify_add_watch 276 +#endif +#ifndef __NR_inotify_rm_watch +#define __NR_inotify_rm_watch 277 +#endif +#ifndef __NR_spu_run +#define __NR_spu_run 278 +#endif +#ifndef __NR_spu_create +#define __NR_spu_create 279 +#endif +#ifndef __NR_pselect6 +#define __NR_pselect6 280 +#endif +#ifndef __NR_ppoll +#define __NR_ppoll 281 +#endif +#ifndef __NR_unshare +#define __NR_unshare 282 +#endif +#ifndef __NR_splice +#define __NR_splice 283 +#endif +#ifndef __NR_tee +#define __NR_tee 284 +#endif +#ifndef __NR_vmsplice +#define __NR_vmsplice 285 +#endif +#ifndef __NR_openat +#define __NR_openat 286 +#endif +#ifndef __NR_mkdirat +#define __NR_mkdirat 287 +#endif +#ifndef __NR_mknodat +#define __NR_mknodat 288 +#endif +#ifndef __NR_fchownat +#define __NR_fchownat 289 +#endif +#ifndef __NR_futimesat +#define __NR_futimesat 290 +#endif +#ifndef __NR_newfstatat +#define __NR_newfstatat 291 +#endif +#ifndef __NR_unlinkat +#define __NR_unlinkat 292 +#endif +#ifndef __NR_renameat +#define __NR_renameat 293 +#endif +#ifndef __NR_linkat +#define __NR_linkat 294 +#endif +#ifndef __NR_symlinkat +#define __NR_symlinkat 295 +#endif +#ifndef __NR_readlinkat +#define __NR_readlinkat 296 +#endif +#ifndef __NR_fchmodat +#define __NR_fchmodat 297 +#endif +#ifndef __NR_faccessat +#define __NR_faccessat 298 +#endif +#ifndef __NR_get_robust_list +#define __NR_get_robust_list 299 +#endif +#ifndef __NR_set_robust_list +#define __NR_set_robust_list 300 +#endif +#ifndef __NR_move_pages +#define __NR_move_pages 301 +#endif +#ifndef __NR_getcpu +#define __NR_getcpu 302 +#endif +#ifndef __NR_epoll_pwait +#define __NR_epoll_pwait 303 +#endif +#ifndef __NR_utimensat +#define __NR_utimensat 304 +#endif +#ifndef __NR_signalfd +#define __NR_signalfd 305 +#endif +#ifndef __NR_timerfd_create +#define __NR_timerfd_create 306 +#endif +#ifndef __NR_eventfd +#define __NR_eventfd 307 +#endif +#ifndef __NR_sync_file_range2 +#define __NR_sync_file_range2 308 +#endif +#ifndef __NR_fallocate +#define __NR_fallocate 309 +#endif +#ifndef __NR_subpage_prot +#define __NR_subpage_prot 310 +#endif +#ifndef __NR_timerfd_settime +#define __NR_timerfd_settime 311 +#endif +#ifndef __NR_timerfd_gettime +#define __NR_timerfd_gettime 312 +#endif +#ifndef __NR_signalfd4 +#define __NR_signalfd4 313 +#endif +#ifndef __NR_eventfd2 +#define __NR_eventfd2 314 +#endif +#ifndef __NR_epoll_create1 +#define __NR_epoll_create1 315 +#endif +#ifndef __NR_dup3 +#define __NR_dup3 316 +#endif +#ifndef __NR_pipe2 +#define __NR_pipe2 317 +#endif +#ifndef __NR_inotify_init1 +#define __NR_inotify_init1 318 +#endif +#ifndef __NR_perf_event_open +#define __NR_perf_event_open 319 +#endif +#ifndef __NR_preadv +#define __NR_preadv 320 +#endif +#ifndef __NR_pwritev +#define __NR_pwritev 321 +#endif +#ifndef __NR_rt_tgsigqueueinfo +#define __NR_rt_tgsigqueueinfo 322 +#endif +#ifndef __NR_fanotify_init +#define __NR_fanotify_init 323 +#endif +#ifndef __NR_fanotify_mark +#define __NR_fanotify_mark 324 +#endif +#ifndef __NR_prlimit64 +#define __NR_prlimit64 325 +#endif +#ifndef __NR_socket +#define __NR_socket 326 +#endif +#ifndef __NR_bind +#define __NR_bind 327 +#endif +#ifndef __NR_connect +#define __NR_connect 328 +#endif +#ifndef __NR_listen +#define __NR_listen 329 +#endif +#ifndef __NR_accept +#define __NR_accept 330 +#endif +#ifndef __NR_getsockname +#define __NR_getsockname 331 +#endif +#ifndef __NR_getpeername +#define __NR_getpeername 332 +#endif +#ifndef __NR_socketpair +#define __NR_socketpair 333 +#endif +#ifndef __NR_send +#define __NR_send 334 +#endif +#ifndef __NR_sendto +#define __NR_sendto 335 +#endif +#ifndef __NR_recv +#define __NR_recv 336 +#endif +#ifndef __NR_recvfrom +#define __NR_recvfrom 337 +#endif +#ifndef __NR_shutdown +#define __NR_shutdown 338 +#endif +#ifndef __NR_setsockopt +#define __NR_setsockopt 339 +#endif +#ifndef __NR_getsockopt +#define __NR_getsockopt 340 +#endif +#ifndef __NR_sendmsg +#define __NR_sendmsg 341 +#endif +#ifndef __NR_recvmsg +#define __NR_recvmsg 342 +#endif +#ifndef __NR_recvmmsg +#define __NR_recvmmsg 343 +#endif +#ifndef __NR_accept4 +#define __NR_accept4 344 +#endif +#ifndef __NR_name_to_handle_at +#define __NR_name_to_handle_at 345 +#endif +#ifndef __NR_open_by_handle_at +#define __NR_open_by_handle_at 346 +#endif +#ifndef __NR_clock_adjtime +#define __NR_clock_adjtime 347 +#endif +#ifndef __NR_syncfs +#define __NR_syncfs 348 +#endif +#ifndef __NR_sendmmsg +#define __NR_sendmmsg 349 +#endif +#ifndef __NR_setns +#define __NR_setns 350 +#endif +#ifndef __NR_process_vm_readv +#define __NR_process_vm_readv 351 +#endif +#ifndef __NR_process_vm_writev +#define __NR_process_vm_writev 352 +#endif +#ifndef __NR_finit_module +#define __NR_finit_module 353 +#endif +#ifndef __NR_kcmp +#define __NR_kcmp 354 +#endif +#ifndef __NR_sched_setattr +#define __NR_sched_setattr 355 +#endif +#ifndef __NR_sched_getattr +#define __NR_sched_getattr 356 +#endif +#ifndef __NR_renameat2 +#define __NR_renameat2 357 +#endif +#ifndef __NR_seccomp +#define __NR_seccomp 358 +#endif +#ifndef __NR_getrandom +#define __NR_getrandom 359 +#endif +#ifndef __NR_memfd_create +#define __NR_memfd_create 360 +#endif +#ifndef __NR_bpf +#define __NR_bpf 361 +#endif +#ifndef __NR_execveat +#define __NR_execveat 362 +#endif +#ifndef __NR_switch_endian +#define __NR_switch_endian 363 +#endif +#ifndef __NR_userfaultfd +#define __NR_userfaultfd 364 +#endif +#ifndef __NR_membarrier +#define __NR_membarrier 365 +#endif +#ifndef __NR_mlock2 +#define __NR_mlock2 378 +#endif +#ifndef __NR_copy_file_range +#define __NR_copy_file_range 379 +#endif +#ifndef __NR_preadv2 +#define __NR_preadv2 380 +#endif +#ifndef __NR_pwritev2 +#define __NR_pwritev2 381 +#endif +#ifndef __NR_kexec_file_load +#define __NR_kexec_file_load 382 +#endif +#ifndef __NR_statx +#define __NR_statx 383 +#endif +#ifndef __NR_pkey_alloc +#define __NR_pkey_alloc 384 +#endif +#ifndef __NR_pkey_free +#define __NR_pkey_free 385 +#endif +#ifndef __NR_pkey_mprotect +#define __NR_pkey_mprotect 386 +#endif +#ifndef __NR_rseq +#define __NR_rseq 387 +#endif +#ifndef __NR_io_pgetevents +#define __NR_io_pgetevents 388 +#endif +#ifndef __NR_semtimedop +#define __NR_semtimedop 392 +#endif +#ifndef __NR_semget +#define __NR_semget 393 +#endif +#ifndef __NR_semctl +#define __NR_semctl 394 +#endif +#ifndef __NR_shmget +#define __NR_shmget 395 +#endif +#ifndef __NR_shmctl +#define __NR_shmctl 396 +#endif +#ifndef __NR_shmat +#define __NR_shmat 397 +#endif +#ifndef __NR_shmdt +#define __NR_shmdt 398 +#endif +#ifndef __NR_msgget +#define __NR_msgget 399 +#endif +#ifndef __NR_msgsnd +#define __NR_msgsnd 400 +#endif +#ifndef __NR_msgrcv +#define __NR_msgrcv 401 +#endif +#ifndef __NR_msgctl +#define __NR_msgctl 402 +#endif +#ifndef __NR_pidfd_send_signal +#define __NR_pidfd_send_signal 424 +#endif +#ifndef __NR_io_uring_setup +#define __NR_io_uring_setup 425 +#endif +#ifndef __NR_io_uring_enter +#define __NR_io_uring_enter 426 +#endif +#ifndef __NR_io_uring_register +#define __NR_io_uring_register 427 +#endif +#ifndef __NR_open_tree +#define __NR_open_tree 428 +#endif +#ifndef __NR_move_mount +#define __NR_move_mount 429 +#endif +#ifndef __NR_fsopen +#define __NR_fsopen 430 +#endif +#ifndef __NR_fsconfig +#define __NR_fsconfig 431 +#endif +#ifndef __NR_fsmount +#define __NR_fsmount 432 +#endif +#ifndef __NR_fspick +#define __NR_fspick 433 +#endif +#ifndef __NR_pidfd_open +#define __NR_pidfd_open 434 +#endif +#ifndef __NR_clone3 +#define __NR_clone3 435 +#endif +#ifndef __NR_close_range +#define __NR_close_range 436 +#endif +#ifndef __NR_openat2 +#define __NR_openat2 437 +#endif +#ifndef __NR_pidfd_getfd +#define __NR_pidfd_getfd 438 +#endif +#ifndef __NR_faccessat2 +#define __NR_faccessat2 439 +#endif +#ifndef __NR_process_madvise +#define __NR_process_madvise 440 +#endif +#ifndef __NR_epoll_pwait2 +#define __NR_epoll_pwait2 441 +#endif +#ifndef __NR_mount_setattr +#define __NR_mount_setattr 442 +#endif +#ifndef __NR_quotactl_fd +#define __NR_quotactl_fd 443 +#endif +#ifndef __NR_landlock_create_ruleset +#define __NR_landlock_create_ruleset 444 +#endif +#ifndef __NR_landlock_add_rule +#define __NR_landlock_add_rule 445 +#endif +#ifndef __NR_landlock_restrict_self +#define __NR_landlock_restrict_self 446 +#endif +#ifndef __NR_process_mrelease +#define __NR_process_mrelease 448 +#endif +#ifndef __NR_futex_waitv +#define __NR_futex_waitv 449 +#endif +#ifndef __NR_set_mempolicy_home_node +#define __NR_set_mempolicy_home_node 450 +#endif +#ifndef __NR_cachestat +#define __NR_cachestat 451 +#endif +#ifndef __NR_fchmodat2 +#define __NR_fchmodat2 452 +#endif +#ifndef __NR_map_shadow_stack +#define __NR_map_shadow_stack 453 +#endif +#ifndef __NR_futex_wake +#define __NR_futex_wake 454 +#endif +#ifndef __NR_futex_wait +#define __NR_futex_wait 455 +#endif +#ifndef __NR_futex_requeue +#define __NR_futex_requeue 456 +#endif +#ifndef __NR_statmount +#define __NR_statmount 457 +#endif +#ifndef __NR_listmount +#define __NR_listmount 458 +#endif +#ifndef __NR_lsm_get_self_attr +#define __NR_lsm_get_self_attr 459 +#endif +#ifndef __NR_lsm_set_self_attr +#define __NR_lsm_set_self_attr 460 +#endif +#ifndef __NR_lsm_list_modules +#define __NR_lsm_list_modules 461 +#endif diff --git a/driver/syscall_compat_riscv64.h b/driver/syscall_compat_riscv64.h new file mode 100644 index 00000000000..c15def4d67e --- /dev/null +++ b/driver/syscall_compat_riscv64.h @@ -0,0 +1,967 @@ +// SPDX-License-Identifier: GPL-2.0-only OR MIT +/* + +Copyright (C) 2023 The Falco Authors. + +This file is dual licensed under either the MIT or GPL 2. See MIT.txt +or GPL2.txt for full copies of the license. + +*/ + +/* + * This file was automatically created by syscalls-bumper (https://github.com/falcosecurity/syscalls-bumper).") + * DO NOT EDIT THIS FILE MANUALLY.") + */ + +#pragma once +#ifndef __NR_io_setup +#define __NR_io_setup 0 +#endif +#ifndef __NR_io_destroy +#define __NR_io_destroy 1 +#endif +#ifndef __NR_io_submit +#define __NR_io_submit 2 +#endif +#ifndef __NR_io_cancel +#define __NR_io_cancel 3 +#endif +#ifndef __NR_io_getevents +#define __NR_io_getevents 4 +#endif +#ifndef __NR_setxattr +#define __NR_setxattr 5 +#endif +#ifndef __NR_lsetxattr +#define __NR_lsetxattr 6 +#endif +#ifndef __NR_fsetxattr +#define __NR_fsetxattr 7 +#endif +#ifndef __NR_getxattr +#define __NR_getxattr 8 +#endif +#ifndef __NR_lgetxattr +#define __NR_lgetxattr 9 +#endif +#ifndef __NR_fgetxattr +#define __NR_fgetxattr 10 +#endif +#ifndef __NR_listxattr +#define __NR_listxattr 11 +#endif +#ifndef __NR_llistxattr +#define __NR_llistxattr 12 +#endif +#ifndef __NR_flistxattr +#define __NR_flistxattr 13 +#endif +#ifndef __NR_removexattr +#define __NR_removexattr 14 +#endif +#ifndef __NR_lremovexattr +#define __NR_lremovexattr 15 +#endif +#ifndef __NR_fremovexattr +#define __NR_fremovexattr 16 +#endif +#ifndef __NR_getcwd +#define __NR_getcwd 17 +#endif +#ifndef __NR_lookup_dcookie +#define __NR_lookup_dcookie 18 +#endif +#ifndef __NR_eventfd2 +#define __NR_eventfd2 19 +#endif +#ifndef __NR_epoll_create1 +#define __NR_epoll_create1 20 +#endif +#ifndef __NR_epoll_ctl +#define __NR_epoll_ctl 21 +#endif +#ifndef __NR_epoll_pwait +#define __NR_epoll_pwait 22 +#endif +#ifndef __NR_dup +#define __NR_dup 23 +#endif +#ifndef __NR_dup3 +#define __NR_dup3 24 +#endif +#ifndef __NR_fcntl +#define __NR_fcntl 25 +#endif +#ifndef __NR_inotify_init1 +#define __NR_inotify_init1 26 +#endif +#ifndef __NR_inotify_add_watch +#define __NR_inotify_add_watch 27 +#endif +#ifndef __NR_inotify_rm_watch +#define __NR_inotify_rm_watch 28 +#endif +#ifndef __NR_ioctl +#define __NR_ioctl 29 +#endif +#ifndef __NR_ioprio_set +#define __NR_ioprio_set 30 +#endif +#ifndef __NR_ioprio_get +#define __NR_ioprio_get 31 +#endif +#ifndef __NR_flock +#define __NR_flock 32 +#endif +#ifndef __NR_mknodat +#define __NR_mknodat 33 +#endif +#ifndef __NR_mkdirat +#define __NR_mkdirat 34 +#endif +#ifndef __NR_unlinkat +#define __NR_unlinkat 35 +#endif +#ifndef __NR_symlinkat +#define __NR_symlinkat 36 +#endif +#ifndef __NR_linkat +#define __NR_linkat 37 +#endif +#ifndef __NR_umount2 +#define __NR_umount2 39 +#endif +#ifndef __NR_mount +#define __NR_mount 40 +#endif +#ifndef __NR_pivot_root +#define __NR_pivot_root 41 +#endif +#ifndef __NR_statfs +#define __NR_statfs 43 +#endif +#ifndef __NR_fstatfs +#define __NR_fstatfs 44 +#endif +#ifndef __NR_truncate +#define __NR_truncate 45 +#endif +#ifndef __NR_ftruncate +#define __NR_ftruncate 46 +#endif +#ifndef __NR_fallocate +#define __NR_fallocate 47 +#endif +#ifndef __NR_faccessat +#define __NR_faccessat 48 +#endif +#ifndef __NR_chdir +#define __NR_chdir 49 +#endif +#ifndef __NR_fchdir +#define __NR_fchdir 50 +#endif +#ifndef __NR_chroot +#define __NR_chroot 51 +#endif +#ifndef __NR_fchmod +#define __NR_fchmod 52 +#endif +#ifndef __NR_fchmodat +#define __NR_fchmodat 53 +#endif +#ifndef __NR_fchownat +#define __NR_fchownat 54 +#endif +#ifndef __NR_fchown +#define __NR_fchown 55 +#endif +#ifndef __NR_openat +#define __NR_openat 56 +#endif +#ifndef __NR_close +#define __NR_close 57 +#endif +#ifndef __NR_vhangup +#define __NR_vhangup 58 +#endif +#ifndef __NR_pipe2 +#define __NR_pipe2 59 +#endif +#ifndef __NR_quotactl +#define __NR_quotactl 60 +#endif +#ifndef __NR_getdents64 +#define __NR_getdents64 61 +#endif +#ifndef __NR_lseek +#define __NR_lseek 62 +#endif +#ifndef __NR_read +#define __NR_read 63 +#endif +#ifndef __NR_write +#define __NR_write 64 +#endif +#ifndef __NR_readv +#define __NR_readv 65 +#endif +#ifndef __NR_writev +#define __NR_writev 66 +#endif +#ifndef __NR_pread64 +#define __NR_pread64 67 +#endif +#ifndef __NR_pwrite64 +#define __NR_pwrite64 68 +#endif +#ifndef __NR_preadv +#define __NR_preadv 69 +#endif +#ifndef __NR_pwritev +#define __NR_pwritev 70 +#endif +#ifndef __NR_sendfile +#define __NR_sendfile 71 +#endif +#ifndef __NR_pselect6 +#define __NR_pselect6 72 +#endif +#ifndef __NR_ppoll +#define __NR_ppoll 73 +#endif +#ifndef __NR_signalfd4 +#define __NR_signalfd4 74 +#endif +#ifndef __NR_vmsplice +#define __NR_vmsplice 75 +#endif +#ifndef __NR_splice +#define __NR_splice 76 +#endif +#ifndef __NR_tee +#define __NR_tee 77 +#endif +#ifndef __NR_readlinkat +#define __NR_readlinkat 78 +#endif +#ifndef __NR_newfstatat +#define __NR_newfstatat 79 +#endif +#ifndef __NR_fstat +#define __NR_fstat 80 +#endif +#ifndef __NR_sync +#define __NR_sync 81 +#endif +#ifndef __NR_fsync +#define __NR_fsync 82 +#endif +#ifndef __NR_fdatasync +#define __NR_fdatasync 83 +#endif +#ifndef __NR_sync_file_range +#define __NR_sync_file_range 84 +#endif +#ifndef __NR_timerfd_create +#define __NR_timerfd_create 85 +#endif +#ifndef __NR_timerfd_settime +#define __NR_timerfd_settime 86 +#endif +#ifndef __NR_timerfd_gettime +#define __NR_timerfd_gettime 87 +#endif +#ifndef __NR_utimensat +#define __NR_utimensat 88 +#endif +#ifndef __NR_acct +#define __NR_acct 89 +#endif +#ifndef __NR_capget +#define __NR_capget 90 +#endif +#ifndef __NR_capset +#define __NR_capset 91 +#endif +#ifndef __NR_personality +#define __NR_personality 92 +#endif +#ifndef __NR_exit +#define __NR_exit 93 +#endif +#ifndef __NR_exit_group +#define __NR_exit_group 94 +#endif +#ifndef __NR_waitid +#define __NR_waitid 95 +#endif +#ifndef __NR_set_tid_address +#define __NR_set_tid_address 96 +#endif +#ifndef __NR_unshare +#define __NR_unshare 97 +#endif +#ifndef __NR_futex +#define __NR_futex 98 +#endif +#ifndef __NR_set_robust_list +#define __NR_set_robust_list 99 +#endif +#ifndef __NR_get_robust_list +#define __NR_get_robust_list 100 +#endif +#ifndef __NR_nanosleep +#define __NR_nanosleep 101 +#endif +#ifndef __NR_getitimer +#define __NR_getitimer 102 +#endif +#ifndef __NR_setitimer +#define __NR_setitimer 103 +#endif +#ifndef __NR_kexec_load +#define __NR_kexec_load 104 +#endif +#ifndef __NR_init_module +#define __NR_init_module 105 +#endif +#ifndef __NR_delete_module +#define __NR_delete_module 106 +#endif +#ifndef __NR_timer_create +#define __NR_timer_create 107 +#endif +#ifndef __NR_timer_gettime +#define __NR_timer_gettime 108 +#endif +#ifndef __NR_timer_getoverrun +#define __NR_timer_getoverrun 109 +#endif +#ifndef __NR_timer_settime +#define __NR_timer_settime 110 +#endif +#ifndef __NR_timer_delete +#define __NR_timer_delete 111 +#endif +#ifndef __NR_clock_settime +#define __NR_clock_settime 112 +#endif +#ifndef __NR_clock_gettime +#define __NR_clock_gettime 113 +#endif +#ifndef __NR_clock_getres +#define __NR_clock_getres 114 +#endif +#ifndef __NR_clock_nanosleep +#define __NR_clock_nanosleep 115 +#endif +#ifndef __NR_syslog +#define __NR_syslog 116 +#endif +#ifndef __NR_ptrace +#define __NR_ptrace 117 +#endif +#ifndef __NR_sched_setparam +#define __NR_sched_setparam 118 +#endif +#ifndef __NR_sched_setscheduler +#define __NR_sched_setscheduler 119 +#endif +#ifndef __NR_sched_getscheduler +#define __NR_sched_getscheduler 120 +#endif +#ifndef __NR_sched_getparam +#define __NR_sched_getparam 121 +#endif +#ifndef __NR_sched_setaffinity +#define __NR_sched_setaffinity 122 +#endif +#ifndef __NR_sched_getaffinity +#define __NR_sched_getaffinity 123 +#endif +#ifndef __NR_sched_yield +#define __NR_sched_yield 124 +#endif +#ifndef __NR_sched_get_priority_max +#define __NR_sched_get_priority_max 125 +#endif +#ifndef __NR_sched_get_priority_min +#define __NR_sched_get_priority_min 126 +#endif +#ifndef __NR_sched_rr_get_interval +#define __NR_sched_rr_get_interval 127 +#endif +#ifndef __NR_restart_syscall +#define __NR_restart_syscall 128 +#endif +#ifndef __NR_kill +#define __NR_kill 129 +#endif +#ifndef __NR_tkill +#define __NR_tkill 130 +#endif +#ifndef __NR_tgkill +#define __NR_tgkill 131 +#endif +#ifndef __NR_sigaltstack +#define __NR_sigaltstack 132 +#endif +#ifndef __NR_rt_sigsuspend +#define __NR_rt_sigsuspend 133 +#endif +#ifndef __NR_rt_sigaction +#define __NR_rt_sigaction 134 +#endif +#ifndef __NR_rt_sigprocmask +#define __NR_rt_sigprocmask 135 +#endif +#ifndef __NR_rt_sigpending +#define __NR_rt_sigpending 136 +#endif +#ifndef __NR_rt_sigtimedwait +#define __NR_rt_sigtimedwait 137 +#endif +#ifndef __NR_rt_sigqueueinfo +#define __NR_rt_sigqueueinfo 138 +#endif +#ifndef __NR_rt_sigreturn +#define __NR_rt_sigreturn 139 +#endif +#ifndef __NR_setpriority +#define __NR_setpriority 140 +#endif +#ifndef __NR_getpriority +#define __NR_getpriority 141 +#endif +#ifndef __NR_reboot +#define __NR_reboot 142 +#endif +#ifndef __NR_setregid +#define __NR_setregid 143 +#endif +#ifndef __NR_setgid +#define __NR_setgid 144 +#endif +#ifndef __NR_setreuid +#define __NR_setreuid 145 +#endif +#ifndef __NR_setuid +#define __NR_setuid 146 +#endif +#ifndef __NR_setresuid +#define __NR_setresuid 147 +#endif +#ifndef __NR_getresuid +#define __NR_getresuid 148 +#endif +#ifndef __NR_setresgid +#define __NR_setresgid 149 +#endif +#ifndef __NR_getresgid +#define __NR_getresgid 150 +#endif +#ifndef __NR_setfsuid +#define __NR_setfsuid 151 +#endif +#ifndef __NR_setfsgid +#define __NR_setfsgid 152 +#endif +#ifndef __NR_times +#define __NR_times 153 +#endif +#ifndef __NR_setpgid +#define __NR_setpgid 154 +#endif +#ifndef __NR_getpgid +#define __NR_getpgid 155 +#endif +#ifndef __NR_getsid +#define __NR_getsid 156 +#endif +#ifndef __NR_setsid +#define __NR_setsid 157 +#endif +#ifndef __NR_getgroups +#define __NR_getgroups 158 +#endif +#ifndef __NR_setgroups +#define __NR_setgroups 159 +#endif +#ifndef __NR_uname +#define __NR_uname 160 +#endif +#ifndef __NR_sethostname +#define __NR_sethostname 161 +#endif +#ifndef __NR_setdomainname +#define __NR_setdomainname 162 +#endif +#ifndef __NR_getrlimit +#define __NR_getrlimit 163 +#endif +#ifndef __NR_setrlimit +#define __NR_setrlimit 164 +#endif +#ifndef __NR_getrusage +#define __NR_getrusage 165 +#endif +#ifndef __NR_umask +#define __NR_umask 166 +#endif +#ifndef __NR_prctl +#define __NR_prctl 167 +#endif +#ifndef __NR_getcpu +#define __NR_getcpu 168 +#endif +#ifndef __NR_gettimeofday +#define __NR_gettimeofday 169 +#endif +#ifndef __NR_settimeofday +#define __NR_settimeofday 170 +#endif +#ifndef __NR_adjtimex +#define __NR_adjtimex 171 +#endif +#ifndef __NR_getpid +#define __NR_getpid 172 +#endif +#ifndef __NR_getppid +#define __NR_getppid 173 +#endif +#ifndef __NR_getuid +#define __NR_getuid 174 +#endif +#ifndef __NR_geteuid +#define __NR_geteuid 175 +#endif +#ifndef __NR_getgid +#define __NR_getgid 176 +#endif +#ifndef __NR_getegid +#define __NR_getegid 177 +#endif +#ifndef __NR_gettid +#define __NR_gettid 178 +#endif +#ifndef __NR_sysinfo +#define __NR_sysinfo 179 +#endif +#ifndef __NR_mq_open +#define __NR_mq_open 180 +#endif +#ifndef __NR_mq_unlink +#define __NR_mq_unlink 181 +#endif +#ifndef __NR_mq_timedsend +#define __NR_mq_timedsend 182 +#endif +#ifndef __NR_mq_timedreceive +#define __NR_mq_timedreceive 183 +#endif +#ifndef __NR_mq_notify +#define __NR_mq_notify 184 +#endif +#ifndef __NR_mq_getsetattr +#define __NR_mq_getsetattr 185 +#endif +#ifndef __NR_msgget +#define __NR_msgget 186 +#endif +#ifndef __NR_msgctl +#define __NR_msgctl 187 +#endif +#ifndef __NR_msgrcv +#define __NR_msgrcv 188 +#endif +#ifndef __NR_msgsnd +#define __NR_msgsnd 189 +#endif +#ifndef __NR_semget +#define __NR_semget 190 +#endif +#ifndef __NR_semctl +#define __NR_semctl 191 +#endif +#ifndef __NR_semtimedop +#define __NR_semtimedop 192 +#endif +#ifndef __NR_semop +#define __NR_semop 193 +#endif +#ifndef __NR_shmget +#define __NR_shmget 194 +#endif +#ifndef __NR_shmctl +#define __NR_shmctl 195 +#endif +#ifndef __NR_shmat +#define __NR_shmat 196 +#endif +#ifndef __NR_shmdt +#define __NR_shmdt 197 +#endif +#ifndef __NR_socket +#define __NR_socket 198 +#endif +#ifndef __NR_socketpair +#define __NR_socketpair 199 +#endif +#ifndef __NR_bind +#define __NR_bind 200 +#endif +#ifndef __NR_listen +#define __NR_listen 201 +#endif +#ifndef __NR_accept +#define __NR_accept 202 +#endif +#ifndef __NR_connect +#define __NR_connect 203 +#endif +#ifndef __NR_getsockname +#define __NR_getsockname 204 +#endif +#ifndef __NR_getpeername +#define __NR_getpeername 205 +#endif +#ifndef __NR_sendto +#define __NR_sendto 206 +#endif +#ifndef __NR_recvfrom +#define __NR_recvfrom 207 +#endif +#ifndef __NR_setsockopt +#define __NR_setsockopt 208 +#endif +#ifndef __NR_getsockopt +#define __NR_getsockopt 209 +#endif +#ifndef __NR_shutdown +#define __NR_shutdown 210 +#endif +#ifndef __NR_sendmsg +#define __NR_sendmsg 211 +#endif +#ifndef __NR_recvmsg +#define __NR_recvmsg 212 +#endif +#ifndef __NR_readahead +#define __NR_readahead 213 +#endif +#ifndef __NR_brk +#define __NR_brk 214 +#endif +#ifndef __NR_munmap +#define __NR_munmap 215 +#endif +#ifndef __NR_mremap +#define __NR_mremap 216 +#endif +#ifndef __NR_add_key +#define __NR_add_key 217 +#endif +#ifndef __NR_request_key +#define __NR_request_key 218 +#endif +#ifndef __NR_keyctl +#define __NR_keyctl 219 +#endif +#ifndef __NR_clone +#define __NR_clone 220 +#endif +#ifndef __NR_execve +#define __NR_execve 221 +#endif +#ifndef __NR_mmap +#define __NR_mmap 222 +#endif +#ifndef __NR_fadvise64 +#define __NR_fadvise64 223 +#endif +#ifndef __NR_swapon +#define __NR_swapon 224 +#endif +#ifndef __NR_swapoff +#define __NR_swapoff 225 +#endif +#ifndef __NR_mprotect +#define __NR_mprotect 226 +#endif +#ifndef __NR_msync +#define __NR_msync 227 +#endif +#ifndef __NR_mlock +#define __NR_mlock 228 +#endif +#ifndef __NR_munlock +#define __NR_munlock 229 +#endif +#ifndef __NR_mlockall +#define __NR_mlockall 230 +#endif +#ifndef __NR_munlockall +#define __NR_munlockall 231 +#endif +#ifndef __NR_mincore +#define __NR_mincore 232 +#endif +#ifndef __NR_madvise +#define __NR_madvise 233 +#endif +#ifndef __NR_remap_file_pages +#define __NR_remap_file_pages 234 +#endif +#ifndef __NR_mbind +#define __NR_mbind 235 +#endif +#ifndef __NR_get_mempolicy +#define __NR_get_mempolicy 236 +#endif +#ifndef __NR_set_mempolicy +#define __NR_set_mempolicy 237 +#endif +#ifndef __NR_migrate_pages +#define __NR_migrate_pages 238 +#endif +#ifndef __NR_move_pages +#define __NR_move_pages 239 +#endif +#ifndef __NR_rt_tgsigqueueinfo +#define __NR_rt_tgsigqueueinfo 240 +#endif +#ifndef __NR_perf_event_open +#define __NR_perf_event_open 241 +#endif +#ifndef __NR_accept4 +#define __NR_accept4 242 +#endif +#ifndef __NR_recvmmsg +#define __NR_recvmmsg 243 +#endif +#ifndef __NR_riscv_hwprobe +#define __NR_riscv_hwprobe 258 +#endif +#ifndef __NR_riscv_flush_icache +#define __NR_riscv_flush_icache 259 +#endif +#ifndef __NR_wait4 +#define __NR_wait4 260 +#endif +#ifndef __NR_prlimit64 +#define __NR_prlimit64 261 +#endif +#ifndef __NR_fanotify_init +#define __NR_fanotify_init 262 +#endif +#ifndef __NR_fanotify_mark +#define __NR_fanotify_mark 263 +#endif +#ifndef __NR_name_to_handle_at +#define __NR_name_to_handle_at 264 +#endif +#ifndef __NR_open_by_handle_at +#define __NR_open_by_handle_at 265 +#endif +#ifndef __NR_clock_adjtime +#define __NR_clock_adjtime 266 +#endif +#ifndef __NR_syncfs +#define __NR_syncfs 267 +#endif +#ifndef __NR_setns +#define __NR_setns 268 +#endif +#ifndef __NR_sendmmsg +#define __NR_sendmmsg 269 +#endif +#ifndef __NR_process_vm_readv +#define __NR_process_vm_readv 270 +#endif +#ifndef __NR_process_vm_writev +#define __NR_process_vm_writev 271 +#endif +#ifndef __NR_kcmp +#define __NR_kcmp 272 +#endif +#ifndef __NR_finit_module +#define __NR_finit_module 273 +#endif +#ifndef __NR_sched_setattr +#define __NR_sched_setattr 274 +#endif +#ifndef __NR_sched_getattr +#define __NR_sched_getattr 275 +#endif +#ifndef __NR_renameat2 +#define __NR_renameat2 276 +#endif +#ifndef __NR_seccomp +#define __NR_seccomp 277 +#endif +#ifndef __NR_getrandom +#define __NR_getrandom 278 +#endif +#ifndef __NR_memfd_create +#define __NR_memfd_create 279 +#endif +#ifndef __NR_bpf +#define __NR_bpf 280 +#endif +#ifndef __NR_execveat +#define __NR_execveat 281 +#endif +#ifndef __NR_userfaultfd +#define __NR_userfaultfd 282 +#endif +#ifndef __NR_membarrier +#define __NR_membarrier 283 +#endif +#ifndef __NR_mlock2 +#define __NR_mlock2 284 +#endif +#ifndef __NR_copy_file_range +#define __NR_copy_file_range 285 +#endif +#ifndef __NR_preadv2 +#define __NR_preadv2 286 +#endif +#ifndef __NR_pwritev2 +#define __NR_pwritev2 287 +#endif +#ifndef __NR_pkey_mprotect +#define __NR_pkey_mprotect 288 +#endif +#ifndef __NR_pkey_alloc +#define __NR_pkey_alloc 289 +#endif +#ifndef __NR_pkey_free +#define __NR_pkey_free 290 +#endif +#ifndef __NR_statx +#define __NR_statx 291 +#endif +#ifndef __NR_io_pgetevents +#define __NR_io_pgetevents 292 +#endif +#ifndef __NR_rseq +#define __NR_rseq 293 +#endif +#ifndef __NR_kexec_file_load +#define __NR_kexec_file_load 294 +#endif +#ifndef __NR_pidfd_send_signal +#define __NR_pidfd_send_signal 424 +#endif +#ifndef __NR_io_uring_setup +#define __NR_io_uring_setup 425 +#endif +#ifndef __NR_io_uring_enter +#define __NR_io_uring_enter 426 +#endif +#ifndef __NR_io_uring_register +#define __NR_io_uring_register 427 +#endif +#ifndef __NR_open_tree +#define __NR_open_tree 428 +#endif +#ifndef __NR_move_mount +#define __NR_move_mount 429 +#endif +#ifndef __NR_fsopen +#define __NR_fsopen 430 +#endif +#ifndef __NR_fsconfig +#define __NR_fsconfig 431 +#endif +#ifndef __NR_fsmount +#define __NR_fsmount 432 +#endif +#ifndef __NR_fspick +#define __NR_fspick 433 +#endif +#ifndef __NR_pidfd_open +#define __NR_pidfd_open 434 +#endif +#ifndef __NR_clone3 +#define __NR_clone3 435 +#endif +#ifndef __NR_close_range +#define __NR_close_range 436 +#endif +#ifndef __NR_openat2 +#define __NR_openat2 437 +#endif +#ifndef __NR_pidfd_getfd +#define __NR_pidfd_getfd 438 +#endif +#ifndef __NR_faccessat2 +#define __NR_faccessat2 439 +#endif +#ifndef __NR_process_madvise +#define __NR_process_madvise 440 +#endif +#ifndef __NR_epoll_pwait2 +#define __NR_epoll_pwait2 441 +#endif +#ifndef __NR_mount_setattr +#define __NR_mount_setattr 442 +#endif +#ifndef __NR_quotactl_fd +#define __NR_quotactl_fd 443 +#endif +#ifndef __NR_landlock_create_ruleset +#define __NR_landlock_create_ruleset 444 +#endif +#ifndef __NR_landlock_add_rule +#define __NR_landlock_add_rule 445 +#endif +#ifndef __NR_landlock_restrict_self +#define __NR_landlock_restrict_self 446 +#endif +#ifndef __NR_memfd_secret +#define __NR_memfd_secret 447 +#endif +#ifndef __NR_process_mrelease +#define __NR_process_mrelease 448 +#endif +#ifndef __NR_futex_waitv +#define __NR_futex_waitv 449 +#endif +#ifndef __NR_set_mempolicy_home_node +#define __NR_set_mempolicy_home_node 450 +#endif +#ifndef __NR_cachestat +#define __NR_cachestat 451 +#endif +#ifndef __NR_fchmodat2 +#define __NR_fchmodat2 452 +#endif +#ifndef __NR_map_shadow_stack +#define __NR_map_shadow_stack 453 +#endif +#ifndef __NR_futex_wake +#define __NR_futex_wake 454 +#endif +#ifndef __NR_futex_wait +#define __NR_futex_wait 455 +#endif +#ifndef __NR_futex_requeue +#define __NR_futex_requeue 456 +#endif +#ifndef __NR_statmount +#define __NR_statmount 457 +#endif +#ifndef __NR_listmount +#define __NR_listmount 458 +#endif +#ifndef __NR_lsm_get_self_attr +#define __NR_lsm_get_self_attr 459 +#endif +#ifndef __NR_lsm_set_self_attr +#define __NR_lsm_set_self_attr 460 +#endif +#ifndef __NR_lsm_list_modules +#define __NR_lsm_list_modules 461 +#endif diff --git a/driver/syscall_compat_s390x.h b/driver/syscall_compat_s390x.h index eb5fee71c4e..d05ed90d7e4 100644 --- a/driver/syscall_compat_s390x.h +++ b/driver/syscall_compat_s390x.h @@ -1,3 +1,18 @@ +// SPDX-License-Identifier: GPL-2.0-only OR MIT +/* + +Copyright (C) 2023 The Falco Authors. + +This file is dual licensed under either the MIT or GPL 2. See MIT.txt +or GPL2.txt for full copies of the license. + +*/ + +/* + * This file was automatically created by syscalls-bumper (https://github.com/falcosecurity/syscalls-bumper).") + * DO NOT EDIT THIS FILE MANUALLY.") + */ + #pragma once #ifndef __NR_exit #define __NR_exit 1 @@ -167,9 +182,6 @@ #ifndef __NR_readlink #define __NR_readlink 85 #endif -#ifndef __NR_uselib -#define __NR_uselib 86 -#endif #ifndef __NR_swapon #define __NR_swapon 87 #endif @@ -233,9 +245,6 @@ #ifndef __NR_vhangup #define __NR_vhangup 111 #endif -#ifndef __NR_idle -#define __NR_idle 112 -#endif #ifndef __NR_wait4 #define __NR_wait4 114 #endif @@ -272,18 +281,12 @@ #ifndef __NR_sigprocmask #define __NR_sigprocmask 126 #endif -#ifndef __NR_create_module -#define __NR_create_module 127 -#endif #ifndef __NR_init_module #define __NR_init_module 128 #endif #ifndef __NR_delete_module #define __NR_delete_module 129 #endif -#ifndef __NR_get_kernel_syms -#define __NR_get_kernel_syms 130 -#endif #ifndef __NR_quotactl #define __NR_quotactl 131 #endif @@ -293,9 +296,6 @@ #ifndef __NR_fchdir #define __NR_fchdir 133 #endif -#ifndef __NR_bdflush -#define __NR_bdflush 134 -#endif #ifndef __NR_sysfs #define __NR_sysfs 135 #endif @@ -326,9 +326,6 @@ #ifndef __NR_fdatasync #define __NR_fdatasync 148 #endif -#ifndef __NR__sysctl -#define __NR__sysctl 149 -#endif #ifndef __NR_mlock #define __NR_mlock 150 #endif @@ -371,15 +368,9 @@ #ifndef __NR_mremap #define __NR_mremap 163 #endif -#ifndef __NR_query_module -#define __NR_query_module 167 -#endif #ifndef __NR_poll #define __NR_poll 168 #endif -#ifndef __NR_nfsservctl -#define __NR_nfsservctl 169 -#endif #ifndef __NR_prctl #define __NR_prctl 172 #endif @@ -425,9 +416,6 @@ #ifndef __NR_sendfile #define __NR_sendfile 187 #endif -#ifndef __NR_getpmsg -#define __NR_getpmsg 188 -#endif #ifndef __NR_vfork #define __NR_vfork 190 #endif @@ -1088,6 +1076,9 @@ #ifndef __NR_landlock_restrict_self #define __NR_landlock_restrict_self 446 #endif +#ifndef __NR_memfd_secret +#define __NR_memfd_secret 447 +#endif #ifndef __NR_process_mrelease #define __NR_process_mrelease 448 #endif @@ -1097,3 +1088,36 @@ #ifndef __NR_set_mempolicy_home_node #define __NR_set_mempolicy_home_node 450 #endif +#ifndef __NR_cachestat +#define __NR_cachestat 451 +#endif +#ifndef __NR_fchmodat2 +#define __NR_fchmodat2 452 +#endif +#ifndef __NR_map_shadow_stack +#define __NR_map_shadow_stack 453 +#endif +#ifndef __NR_futex_wake +#define __NR_futex_wake 454 +#endif +#ifndef __NR_futex_wait +#define __NR_futex_wait 455 +#endif +#ifndef __NR_futex_requeue +#define __NR_futex_requeue 456 +#endif +#ifndef __NR_statmount +#define __NR_statmount 457 +#endif +#ifndef __NR_listmount +#define __NR_listmount 458 +#endif +#ifndef __NR_lsm_get_self_attr +#define __NR_lsm_get_self_attr 459 +#endif +#ifndef __NR_lsm_set_self_attr +#define __NR_lsm_set_self_attr 460 +#endif +#ifndef __NR_lsm_list_modules +#define __NR_lsm_list_modules 461 +#endif diff --git a/driver/syscall_compat_x86_64.h b/driver/syscall_compat_x86_64.h index a120819ffb4..25c7db05e46 100644 --- a/driver/syscall_compat_x86_64.h +++ b/driver/syscall_compat_x86_64.h @@ -1,3 +1,18 @@ +// SPDX-License-Identifier: GPL-2.0-only OR MIT +/* + +Copyright (C) 2023 The Falco Authors. + +This file is dual licensed under either the MIT or GPL 2. See MIT.txt +or GPL2.txt for full copies of the license. + +*/ + +/* + * This file was automatically created by syscalls-bumper (https://github.com/falcosecurity/syscalls-bumper).") + * DO NOT EDIT THIS FILE MANUALLY.") + */ + #pragma once #ifndef __NR_read #define __NR_read 0 @@ -401,9 +416,6 @@ #ifndef __NR_mknod #define __NR_mknod 133 #endif -#ifndef __NR_uselib -#define __NR_uselib 134 -#endif #ifndef __NR_personality #define __NR_personality 135 #endif @@ -467,9 +479,6 @@ #ifndef __NR_pivot_root #define __NR_pivot_root 155 #endif -#ifndef __NR__sysctl -#define __NR__sysctl 156 -#endif #ifndef __NR_prctl #define __NR_prctl 157 #endif @@ -521,30 +530,15 @@ #ifndef __NR_ioperm #define __NR_ioperm 173 #endif -#ifndef __NR_create_module -#define __NR_create_module 174 -#endif #ifndef __NR_init_module #define __NR_init_module 175 #endif #ifndef __NR_delete_module #define __NR_delete_module 176 #endif -#ifndef __NR_get_kernel_syms -#define __NR_get_kernel_syms 177 -#endif -#ifndef __NR_query_module -#define __NR_query_module 178 -#endif #ifndef __NR_quotactl #define __NR_quotactl 179 #endif -#ifndef __NR_nfsservctl -#define __NR_nfsservctl 180 -#endif -#ifndef __NR_getpmsg -#define __NR_getpmsg 181 -#endif #ifndef __NR_gettid #define __NR_gettid 186 #endif @@ -1070,3 +1064,36 @@ #ifndef __NR_set_mempolicy_home_node #define __NR_set_mempolicy_home_node 450 #endif +#ifndef __NR_cachestat +#define __NR_cachestat 451 +#endif +#ifndef __NR_fchmodat2 +#define __NR_fchmodat2 452 +#endif +#ifndef __NR_map_shadow_stack +#define __NR_map_shadow_stack 453 +#endif +#ifndef __NR_futex_wake +#define __NR_futex_wake 454 +#endif +#ifndef __NR_futex_wait +#define __NR_futex_wait 455 +#endif +#ifndef __NR_futex_requeue +#define __NR_futex_requeue 456 +#endif +#ifndef __NR_statmount +#define __NR_statmount 457 +#endif +#ifndef __NR_listmount +#define __NR_listmount 458 +#endif +#ifndef __NR_lsm_get_self_attr +#define __NR_lsm_get_self_attr 459 +#endif +#ifndef __NR_lsm_set_self_attr +#define __NR_lsm_set_self_attr 460 +#endif +#ifndef __NR_lsm_list_modules +#define __NR_lsm_list_modules 461 +#endif diff --git a/driver/syscall_ia32_64_map.c b/driver/syscall_ia32_64_map.c new file mode 100644 index 00000000000..ad3bf738a65 --- /dev/null +++ b/driver/syscall_ia32_64_map.c @@ -0,0 +1,456 @@ +// SPDX-License-Identifier: GPL-2.0-only OR MIT +/* + +Copyright (C) 2023 The Falco Authors. + +This file is dual licensed under either the MIT or GPL 2. See MIT.txt +or GPL2.txt for full copies of the license. + +*/ + +/* + * This file was automatically created by syscalls-bumper (https://github.com/falcosecurity/syscalls-bumper).") + * DO NOT EDIT THIS FILE MANUALLY.") + */ + +#include "ppm_events_public.h" + +/* + * This table is used by drivers when receiving a 32bit syscall. + * It is needed to convert a 32bit syscall (the array index) to a 64bit syscall value. + * NOTE: some syscalls might be unavailable on x86_64; their value will be set to -1. + * Some unavailable syscalls are identical to a compatible x86_64 syscall; in those cases, + * we use the compatible x86_64 syscall, eg: mmap2 -> mmap. + */ +const int g_ia32_64_map[SYSCALL_TABLE_SIZE] = { + [0] = 219, + [1] = 60, + [2] = 57, + [3] = 0, + [4] = 1, + [5] = 2, + [6] = 3, + [7] = -1, // ia32 only: waitpid + [8] = 85, + [9] = 86, + [10] = 87, + [11] = 59, + [12] = 80, + [13] = 201, + [14] = 133, + [15] = 90, + [16] = 94, + [18] = -1, // ia32 only: oldstat + [19] = 8, + [20] = 39, + [21] = 165, + [22] = 166, // NOTE: syscall umount unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [23] = 105, + [24] = 102, + [25] = -1, // ia32 only: stime + [26] = 101, + [27] = 37, + [28] = -1, // ia32 only: oldfstat + [29] = 34, + [30] = 132, + [33] = 21, + [34] = -1, // ia32 only: nice + [36] = 162, + [37] = 62, + [38] = 82, + [39] = 83, + [40] = 84, + [41] = 32, + [42] = 22, + [43] = 100, + [45] = 12, + [46] = 106, + [47] = 104, + [48] = -1, // ia32 only: signal + [49] = 107, + [50] = 108, + [51] = 163, + [52] = 166, + [54] = 16, + [55] = 72, + [57] = 109, + [59] = -1, // ia32 only: oldolduname + [60] = 95, + [61] = 161, + [62] = 136, + [63] = 33, + [64] = 110, + [65] = 111, + [66] = 112, + [67] = -1, // ia32 only: sigaction + [68] = -1, // ia32 only: sgetmask + [69] = -1, // ia32 only: ssetmask + [70] = 113, + [71] = 114, + [72] = -1, // ia32 only: sigsuspend + [73] = -1, // ia32 only: sigpending + [74] = 170, + [75] = 160, + [76] = 97, + [77] = 98, + [78] = 96, + [79] = 164, + [80] = 115, + [81] = 116, + [82] = 23, + [83] = 88, + [84] = -1, // ia32 only: oldlstat + [85] = 89, + [87] = 167, + [88] = 169, + [89] = -1, // ia32 only: readdir + [90] = 9, + [91] = 11, + [92] = 76, + [93] = 77, + [94] = 91, + [95] = 93, + [96] = 140, + [97] = 141, + [99] = 137, + [100] = 138, + [101] = 173, + [102] = -1, // ia32 only: socketcall + [103] = 103, + [104] = 38, + [105] = 36, + [106] = 4, + [107] = 6, + [108] = 5, + [109] = -1, // ia32 only: olduname + [110] = 172, + [111] = 153, + [113] = -1, // ia32 only: vm86old + [114] = 61, + [115] = 168, + [116] = 99, + [117] = -1, // ia32 only: ipc + [118] = 74, + [119] = -1, // ia32 only: sigreturn + [120] = 56, + [121] = 171, + [122] = 63, + [123] = 154, + [124] = 159, + [125] = 10, + [126] = -1, // ia32 only: sigprocmask + [128] = 175, + [129] = 176, + [131] = 179, + [132] = 121, + [133] = 81, + [135] = 139, + [136] = 135, + [138] = 122, + [139] = 123, + [140] = 8, // NOTE: syscall _llseek unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [141] = 78, + [142] = -1, // ia32 only: _newselect + [143] = 73, + [144] = 26, + [145] = 19, + [146] = 20, + [147] = 124, + [148] = 75, + [150] = 149, + [151] = 150, + [152] = 151, + [153] = 152, + [154] = 142, + [155] = 143, + [156] = 144, + [157] = 145, + [158] = 24, + [159] = 146, + [160] = 147, + [161] = 148, + [162] = 35, + [163] = 25, + [164] = 117, + [165] = 118, + [166] = -1, // ia32 only: vm86 + [168] = 7, + [170] = 119, + [171] = 120, + [172] = 157, + [173] = 15, + [174] = 13, + [175] = 14, + [176] = 127, + [177] = 128, + [178] = 129, + [179] = 130, + [180] = 17, + [181] = 18, + [182] = 92, + [183] = 79, + [184] = 125, + [185] = 126, + [186] = 131, + [187] = 40, + [190] = 58, + [191] = 97, // NOTE: syscall ugetrlimit unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [192] = 9, // NOTE: syscall mmap2 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [193] = -1, // ia32 only: truncate64 + [194] = -1, // ia32 only: ftruncate64 + [195] = 4, // NOTE: syscall stat64 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [196] = 6, // NOTE: syscall lstat64 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [197] = 5, // NOTE: syscall fstat64 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [198] = -1, // ia32 only: lchown32 + [199] = 102, // NOTE: syscall getuid32 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [200] = 104, // NOTE: syscall getgid32 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [201] = 107, // NOTE: syscall geteuid32 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [202] = 108, // NOTE: syscall getegid32 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [203] = -1, // ia32 only: setreuid32 + [204] = -1, // ia32 only: setregid32 + [205] = -1, // ia32 only: getgroups32 + [206] = -1, // ia32 only: setgroups32 + [207] = -1, // ia32 only: fchown32 + [208] = 117, // NOTE: syscall setresuid32 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [209] = 118, // NOTE: syscall getresuid32 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [210] = 119, // NOTE: syscall setresgid32 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [211] = 120, // NOTE: syscall getresgid32 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [212] = -1, // ia32 only: chown32 + [213] = 105, // NOTE: syscall setuid32 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [214] = 106, // NOTE: syscall setgid32 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [215] = -1, // ia32 only: setfsuid32 + [216] = -1, // ia32 only: setfsgid32 + [217] = 155, + [218] = 27, + [219] = 28, + [220] = 217, + [221] = 72, // NOTE: syscall fcntl64 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [224] = 186, + [225] = 187, + [226] = 188, + [227] = 189, + [228] = 190, + [229] = 191, + [230] = 192, + [231] = 193, + [232] = 194, + [233] = 195, + [234] = 196, + [235] = 197, + [236] = 198, + [237] = 199, + [238] = 200, + [239] = 40, // NOTE: syscall sendfile64 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [240] = 202, + [241] = 203, + [242] = 204, + [243] = 205, + [244] = 211, + [245] = 206, + [246] = 207, + [247] = 208, + [248] = 209, + [249] = 210, + [250] = 221, + [252] = 231, + [253] = 212, + [254] = 213, + [255] = 233, + [256] = 232, + [257] = 216, + [258] = 218, + [259] = 222, + [260] = 223, + [261] = 224, + [262] = 225, + [263] = 226, + [264] = 227, + [265] = 228, + [266] = 229, + [267] = 230, + [268] = -1, // ia32 only: statfs64 + [269] = -1, // ia32 only: fstatfs64 + [270] = 234, + [271] = 235, + [272] = -1, // ia32 only: fadvise64_64 + [274] = 237, + [275] = 239, + [276] = 238, + [277] = 240, + [278] = 241, + [279] = 242, + [280] = 243, + [281] = 244, + [282] = 245, + [283] = 246, + [284] = 247, + [286] = 248, + [287] = 249, + [288] = 250, + [289] = 251, + [290] = 252, + [291] = 253, + [292] = 254, + [293] = 255, + [294] = 256, + [295] = 257, + [296] = 258, + [297] = 259, + [298] = 260, + [299] = 261, + [300] = -1, // ia32 only: fstatat64 + [301] = 263, + [302] = 264, + [303] = 265, + [304] = 266, + [305] = 267, + [306] = 268, + [307] = 269, + [308] = 270, + [309] = 271, + [310] = 272, + [311] = 273, + [312] = 274, + [313] = 275, + [314] = 277, + [315] = 276, + [316] = 278, + [317] = 279, + [318] = 309, + [319] = 281, + [320] = 280, + [321] = 282, + [322] = 283, + [323] = 284, + [324] = 285, + [325] = 286, + [326] = 287, + [327] = 289, + [328] = 290, + [329] = 291, + [330] = 292, + [331] = 293, + [332] = 294, + [333] = 295, + [334] = 296, + [335] = 297, + [336] = 298, + [337] = 299, + [338] = 300, + [339] = 301, + [340] = 302, + [341] = 303, + [342] = 304, + [343] = 305, + [344] = 306, + [345] = 307, + [346] = 308, + [347] = 310, + [348] = 311, + [349] = 312, + [350] = 313, + [351] = 314, + [352] = 315, + [353] = 316, + [354] = 317, + [355] = 318, + [356] = 319, + [357] = 321, + [358] = 322, + [359] = 41, + [360] = 53, + [361] = 49, + [362] = 42, + [363] = 50, + [364] = 288, + [365] = 55, + [366] = 54, + [367] = 51, + [368] = 52, + [369] = 44, + [370] = 46, + [371] = 45, + [372] = 47, + [373] = 48, + [374] = 323, + [375] = 324, + [376] = 325, + [377] = 326, + [378] = 327, + [379] = 328, + [380] = 329, + [381] = 330, + [382] = 331, + [383] = 332, + [384] = 158, + [385] = 333, + [386] = 334, + [393] = 64, + [394] = 66, + [395] = 29, + [396] = 31, + [397] = 30, + [398] = 67, + [399] = 68, + [400] = 69, + [401] = 70, + [402] = 71, + [403] = -1, // ia32 only: clock_gettime64 + [404] = -1, // ia32 only: clock_settime64 + [405] = -1, // ia32 only: clock_adjtime64 + [406] = -1, // ia32 only: clock_getres_time64 + [407] = -1, // ia32 only: clock_nanosleep_time64 + [408] = -1, // ia32 only: timer_gettime64 + [409] = -1, // ia32 only: timer_settime64 + [410] = -1, // ia32 only: timerfd_gettime64 + [411] = -1, // ia32 only: timerfd_settime64 + [412] = -1, // ia32 only: utimensat_time64 + [413] = -1, // ia32 only: pselect6_time64 + [414] = -1, // ia32 only: ppoll_time64 + [416] = -1, // ia32 only: io_pgetevents_time64 + [417] = -1, // ia32 only: recvmmsg_time64 + [418] = -1, // ia32 only: mq_timedsend_time64 + [419] = -1, // ia32 only: mq_timedreceive_time64 + [420] = -1, // ia32 only: semtimedop_time64 + [421] = -1, // ia32 only: rt_sigtimedwait_time64 + [422] = -1, // ia32 only: futex_time64 + [423] = -1, // ia32 only: sched_rr_get_interval_time64 + [424] = 424, + [425] = 425, + [426] = 426, + [427] = 427, + [428] = 428, + [429] = 429, + [430] = 430, + [431] = 431, + [432] = 432, + [433] = 433, + [434] = 434, + [435] = 435, + [436] = 436, + [437] = 437, + [438] = 438, + [439] = 439, + [440] = 440, + [441] = 441, + [442] = 442, + [443] = 443, + [444] = 444, + [445] = 445, + [446] = 446, + [447] = 447, + [448] = 448, + [449] = 449, + [450] = 450, + [451] = 451, + [452] = 452, + [453] = 453, + [454] = 454, + [455] = 455, + [456] = 456, + [457] = 457, + [458] = 458, + [459] = 459, + [460] = 460, + [461] = 461, +}; diff --git a/driver/syscall_table.c b/driver/syscall_table.c index bc7b21787ef..ee3847a9437 100644 --- a/driver/syscall_table.c +++ b/driver/syscall_table.c @@ -911,6 +911,126 @@ const struct syscall_evt_pair g_syscall_table[SYSCALL_TABLE_SIZE] = { #ifdef __NR_alarm [__NR_alarm - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_ALARM}, #endif +#ifdef __NR_statmount + [__NR_statmount - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_STATMOUNT}, +#endif +#ifdef __NR_pciconfig_write + [__NR_pciconfig_write - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_PCICONFIG_WRITE}, +#endif +#ifdef __NR_sigaction + [__NR_sigaction - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_SIGACTION}, +#endif +#ifdef __NR_pciconfig_iobase + [__NR_pciconfig_iobase - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_PCICONFIG_IOBASE}, +#endif +#ifdef __NR_multiplexer + [__NR_multiplexer - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_MULTIPLEXER}, +#endif +#ifdef __NR_oldolduname + [__NR_oldolduname - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_OLDOLDUNAME}, +#endif +#ifdef __NR_fchmodat2 + [__NR_fchmodat2 - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_FCHMODAT2}, +#endif +#ifdef __NR_s390_pci_mmio_read + [__NR_s390_pci_mmio_read - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_S390_PCI_MMIO_READ}, +#endif +#ifdef __NR_spu_create + [__NR_spu_create - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_SPU_CREATE}, +#endif +#ifdef __NR_vm86 + [__NR_vm86 - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_VM86}, +#endif +#ifdef __NR_subpage_prot + [__NR_subpage_prot - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_SUBPAGE_PROT}, +#endif +#ifdef __NR_pciconfig_read + [__NR_pciconfig_read - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_PCICONFIG_READ}, +#endif +#ifdef __NR_riscv_flush_icache + [__NR_riscv_flush_icache - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_RISCV_FLUSH_ICACHE}, +#endif +#ifdef __NR_futex_wait + [__NR_futex_wait - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_FUTEX_WAIT}, +#endif +#ifdef __NR_s390_guarded_storage + [__NR_s390_guarded_storage - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_S390_GUARDED_STORAGE}, +#endif +#ifdef __NR_sigsuspend + [__NR_sigsuspend - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_SIGSUSPEND}, +#endif +#ifdef __NR_oldstat + [__NR_oldstat - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_OLDSTAT}, +#endif +#ifdef __NR_s390_sthyi + [__NR_s390_sthyi - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_S390_STHYI}, +#endif +#ifdef __NR_riscv_hwprobe + [__NR_riscv_hwprobe - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_RISCV_HWPROBE}, +#endif +#ifdef __NR_sigreturn + [__NR_sigreturn - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_SIGRETURN}, +#endif +#ifdef __NR_switch_endian + [__NR_switch_endian - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_SWITCH_ENDIAN}, +#endif +#ifdef __NR_spu_run + [__NR_spu_run - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_SPU_RUN}, +#endif +#ifdef __NR_lsm_list_modules + [__NR_lsm_list_modules - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_LSM_LIST_MODULES}, +#endif +#ifdef __NR_oldlstat + [__NR_oldlstat - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_OLDLSTAT}, +#endif +#ifdef __NR_timerfd + [__NR_timerfd - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_TIMERFD}, +#endif +#ifdef __NR_s390_runtime_instr + [__NR_s390_runtime_instr - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_S390_RUNTIME_INSTR}, +#endif +#ifdef __NR_s390_pci_mmio_write + [__NR_s390_pci_mmio_write - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_S390_PCI_MMIO_WRITE}, +#endif +#ifdef __NR_readdir + [__NR_readdir - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_READDIR}, +#endif +#ifdef __NR_map_shadow_stack + [__NR_map_shadow_stack - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_MAP_SHADOW_STACK}, +#endif +#ifdef __NR_rtas + [__NR_rtas - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_RTAS}, +#endif +#ifdef __NR_lsm_get_self_attr + [__NR_lsm_get_self_attr - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_LSM_GET_SELF_ATTR}, +#endif +#ifdef __NR_listmount + [__NR_listmount - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_LISTMOUNT}, +#endif +#ifdef __NR_swapcontext + [__NR_swapcontext - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_SWAPCONTEXT}, +#endif +#ifdef __NR_sys_debug_setcontext + [__NR_sys_debug_setcontext - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_SYS_DEBUG_SETCONTEXT}, +#endif +#ifdef __NR_futex_wake + [__NR_futex_wake - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_FUTEX_WAKE}, +#endif +#ifdef __NR_sync_file_range2 + [__NR_sync_file_range2 - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_SYNC_FILE_RANGE2}, +#endif +#ifdef __NR_oldfstat + [__NR_oldfstat - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_OLDFSTAT}, +#endif +#ifdef __NR_lsm_set_self_attr + [__NR_lsm_set_self_attr - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_LSM_SET_SELF_ATTR}, +#endif +#ifdef __NR_cachestat + [__NR_cachestat - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_CACHESTAT}, +#endif +#ifdef __NR_futex_requeue + [__NR_futex_requeue - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_FUTEX_REQUEUE}, +#endif }; #ifdef CONFIG_IA32_EMULATION @@ -1723,6 +1843,126 @@ const struct syscall_evt_pair g_syscall_ia32_table[SYSCALL_TABLE_SIZE] = { #ifdef __NR_ia32_uselib [__NR_ia32_uselib - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_USELIB}, #endif +#ifdef __NR_s390_sthyi + [__NR_s390_sthyi - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_S390_STHYI}, +#endif +#ifdef __NR_riscv_flush_icache + [__NR_riscv_flush_icache - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_RISCV_FLUSH_ICACHE}, +#endif +#ifdef __NR_futex_wait + [__NR_futex_wait - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_FUTEX_WAIT}, +#endif +#ifdef __NR_s390_guarded_storage + [__NR_s390_guarded_storage - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_S390_GUARDED_STORAGE}, +#endif +#ifdef __NR_sigsuspend + [__NR_sigsuspend - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_SIGSUSPEND}, +#endif +#ifdef __NR_oldstat + [__NR_oldstat - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_OLDSTAT}, +#endif +#ifdef __NR_riscv_hwprobe + [__NR_riscv_hwprobe - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_RISCV_HWPROBE}, +#endif +#ifdef __NR_sigreturn + [__NR_sigreturn - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_SIGRETURN}, +#endif +#ifdef __NR_switch_endian + [__NR_switch_endian - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_SWITCH_ENDIAN}, +#endif +#ifdef __NR_spu_run + [__NR_spu_run - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_SPU_RUN}, +#endif +#ifdef __NR_lsm_list_modules + [__NR_lsm_list_modules - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_LSM_LIST_MODULES}, +#endif +#ifdef __NR_oldlstat + [__NR_oldlstat - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_OLDLSTAT}, +#endif +#ifdef __NR_timerfd + [__NR_timerfd - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_TIMERFD}, +#endif +#ifdef __NR_lsm_get_self_attr + [__NR_lsm_get_self_attr - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_LSM_GET_SELF_ATTR}, +#endif +#ifdef __NR_s390_runtime_instr + [__NR_s390_runtime_instr - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_S390_RUNTIME_INSTR}, +#endif +#ifdef __NR_s390_pci_mmio_write + [__NR_s390_pci_mmio_write - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_S390_PCI_MMIO_WRITE}, +#endif +#ifdef __NR_readdir + [__NR_readdir - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_READDIR}, +#endif +#ifdef __NR_map_shadow_stack + [__NR_map_shadow_stack - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_MAP_SHADOW_STACK}, +#endif +#ifdef __NR_rtas + [__NR_rtas - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_RTAS}, +#endif +#ifdef __NR_oldfstat + [__NR_oldfstat - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_OLDFSTAT}, +#endif +#ifdef __NR_lsm_set_self_attr + [__NR_lsm_set_self_attr - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_LSM_SET_SELF_ATTR}, +#endif +#ifdef __NR_cachestat + [__NR_cachestat - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_CACHESTAT}, +#endif +#ifdef __NR_listmount + [__NR_listmount - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_LISTMOUNT}, +#endif +#ifdef __NR_swapcontext + [__NR_swapcontext - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_SWAPCONTEXT}, +#endif +#ifdef __NR_sys_debug_setcontext + [__NR_sys_debug_setcontext - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_SYS_DEBUG_SETCONTEXT}, +#endif +#ifdef __NR_futex_wake + [__NR_futex_wake - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_FUTEX_WAKE}, +#endif +#ifdef __NR_sync_file_range2 + [__NR_sync_file_range2 - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_SYNC_FILE_RANGE2}, +#endif +#ifdef __NR_futex_requeue + [__NR_futex_requeue - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_FUTEX_REQUEUE}, +#endif +#ifdef __NR_statmount + [__NR_statmount - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_STATMOUNT}, +#endif +#ifdef __NR_pciconfig_write + [__NR_pciconfig_write - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_PCICONFIG_WRITE}, +#endif +#ifdef __NR_s390_pci_mmio_read + [__NR_s390_pci_mmio_read - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_S390_PCI_MMIO_READ}, +#endif +#ifdef __NR_sigaction + [__NR_sigaction - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_SIGACTION}, +#endif +#ifdef __NR_pciconfig_iobase + [__NR_pciconfig_iobase - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_PCICONFIG_IOBASE}, +#endif +#ifdef __NR_multiplexer + [__NR_multiplexer - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_MULTIPLEXER}, +#endif +#ifdef __NR_oldolduname + [__NR_oldolduname - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_OLDOLDUNAME}, +#endif +#ifdef __NR_fchmodat2 + [__NR_fchmodat2 - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_FCHMODAT2}, +#endif +#ifdef __NR_spu_create + [__NR_spu_create - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_SPU_CREATE}, +#endif +#ifdef __NR_vm86 + [__NR_vm86 - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_VM86}, +#endif +#ifdef __NR_subpage_prot + [__NR_subpage_prot - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_SUBPAGE_PROT}, +#endif +#ifdef __NR_pciconfig_read + [__NR_pciconfig_read - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_PCICONFIG_READ}, +#endif }; #endif /* CONFIG_IA32_EMULATION */ diff --git a/userspace/libscap/linux/scap_ppm_sc.c b/userspace/libscap/linux/scap_ppm_sc.c index a35a48c892c..ef1cbfa1069 100644 --- a/userspace/libscap/linux/scap_ppm_sc.c +++ b/userspace/libscap/linux/scap_ppm_sc.c @@ -32,8 +32,8 @@ limitations under the License. * NOTE: first 2 lines are automatically bumped by syscalls-bumper. */ static const ppm_sc_code *g_events_to_sc_map[] = { - [PPME_GENERIC_E] = (ppm_sc_code[]){ PPM_SC_RESTART_SYSCALL, PPM_SC_EXIT, PPM_SC_TIME, PPM_SC_MKNOD, PPM_SC_GETPID, PPM_SC_SYNC, PPM_SC_TIMES, PPM_SC_ACCT, PPM_SC_UMASK, PPM_SC_USTAT, PPM_SC_GETPPID, PPM_SC_GETPGRP, PPM_SC_SETHOSTNAME, PPM_SC_GETRUSAGE, PPM_SC_GETTIMEOFDAY, PPM_SC_SETTIMEOFDAY, PPM_SC_READLINK, PPM_SC_SWAPON, PPM_SC_REBOOT, PPM_SC_TRUNCATE, PPM_SC_FTRUNCATE, PPM_SC_GETPRIORITY, PPM_SC_SETPRIORITY, PPM_SC_STATFS, PPM_SC_FSTATFS, PPM_SC_SETITIMER, PPM_SC_GETITIMER, PPM_SC_UNAME, PPM_SC_VHANGUP, PPM_SC_WAIT4, PPM_SC_SWAPOFF, PPM_SC_SYSINFO, PPM_SC_FSYNC, PPM_SC_SETDOMAINNAME, PPM_SC_ADJTIMEX, PPM_SC_INIT_MODULE, PPM_SC_DELETE_MODULE, PPM_SC_GETPGID, PPM_SC_SYSFS, PPM_SC_PERSONALITY, PPM_SC_MSYNC, PPM_SC_GETSID, PPM_SC_FDATASYNC, PPM_SC_SCHED_SETSCHEDULER, PPM_SC_SCHED_GETSCHEDULER, PPM_SC_SCHED_YIELD, PPM_SC_SCHED_GET_PRIORITY_MAX, PPM_SC_SCHED_GET_PRIORITY_MIN, PPM_SC_SCHED_RR_GET_INTERVAL, PPM_SC_MREMAP, PPM_SC_PRCTL, PPM_SC_ARCH_PRCTL, PPM_SC_RT_SIGACTION, PPM_SC_RT_SIGPROCMASK, PPM_SC_RT_SIGPENDING, PPM_SC_RT_SIGTIMEDWAIT, PPM_SC_RT_SIGQUEUEINFO, PPM_SC_RT_SIGSUSPEND, PPM_SC_CAPGET, PPM_SC_SETREUID, PPM_SC_SETREGID, PPM_SC_GETGROUPS, PPM_SC_SETGROUPS, PPM_SC_SETFSUID, PPM_SC_SETFSGID, PPM_SC_PIVOT_ROOT, PPM_SC_MINCORE, PPM_SC_MADVISE, PPM_SC_GETTID, PPM_SC_SETXATTR, PPM_SC_LSETXATTR, PPM_SC_FSETXATTR, PPM_SC_GETXATTR, PPM_SC_LGETXATTR, PPM_SC_FGETXATTR, PPM_SC_LISTXATTR, PPM_SC_LLISTXATTR, PPM_SC_FLISTXATTR, PPM_SC_REMOVEXATTR, PPM_SC_LREMOVEXATTR, PPM_SC_FREMOVEXATTR,PPM_SC_SCHED_SETAFFINITY, PPM_SC_SCHED_GETAFFINITY, PPM_SC_SET_THREAD_AREA, PPM_SC_GET_THREAD_AREA, PPM_SC_IO_SETUP, PPM_SC_IO_DESTROY, PPM_SC_IO_GETEVENTS, PPM_SC_IO_SUBMIT, PPM_SC_IO_CANCEL, PPM_SC_EXIT_GROUP, PPM_SC_REMAP_FILE_PAGES, PPM_SC_SET_TID_ADDRESS, PPM_SC_TIMER_CREATE, PPM_SC_TIMER_SETTIME, PPM_SC_TIMER_GETTIME, PPM_SC_TIMER_GETOVERRUN, PPM_SC_TIMER_DELETE, PPM_SC_CLOCK_SETTIME, PPM_SC_CLOCK_GETTIME, PPM_SC_CLOCK_GETRES, PPM_SC_CLOCK_NANOSLEEP,PPM_SC_UTIMES, PPM_SC_MQ_OPEN, PPM_SC_MQ_UNLINK, PPM_SC_MQ_TIMEDSEND, PPM_SC_MQ_TIMEDRECEIVE, PPM_SC_MQ_NOTIFY, PPM_SC_MQ_GETSETATTR, PPM_SC_KEXEC_LOAD, PPM_SC_WAITID, PPM_SC_ADD_KEY, PPM_SC_REQUEST_KEY, PPM_SC_KEYCTL, PPM_SC_IOPRIO_SET, PPM_SC_IOPRIO_GET, PPM_SC_INOTIFY_ADD_WATCH, PPM_SC_INOTIFY_RM_WATCH, PPM_SC_MKNODAT, PPM_SC_FUTIMESAT, PPM_SC_READLINKAT, PPM_SC_FACCESSAT, PPM_SC_SET_ROBUST_LIST, PPM_SC_GET_ROBUST_LIST, PPM_SC_TEE, PPM_SC_VMSPLICE, PPM_SC_GETCPU, PPM_SC_EPOLL_PWAIT, PPM_SC_UTIMENSAT, PPM_SC_TIMERFD_SETTIME, PPM_SC_TIMERFD_GETTIME, PPM_SC_RT_TGSIGQUEUEINFO, PPM_SC_PERF_EVENT_OPEN, PPM_SC_FANOTIFY_INIT, PPM_SC_CLOCK_ADJTIME, PPM_SC_SYNCFS, PPM_SC_MSGSND, PPM_SC_MSGRCV, PPM_SC_MSGGET, PPM_SC_MSGCTL, PPM_SC_SHMDT, PPM_SC_SHMGET, PPM_SC_SHMCTL, PPM_SC_STATFS64, PPM_SC_FSTATFS64, PPM_SC_FSTATAT64, PPM_SC_BDFLUSH, PPM_SC_SIGPROCMASK, PPM_SC_IPC, PPM_SC__NEWSELECT, PPM_SC_SGETMASK, PPM_SC_SSETMASK, PPM_SC_SIGPENDING, PPM_SC_OLDUNAME, PPM_SC_SIGNAL, PPM_SC_NICE, PPM_SC_STIME, PPM_SC_WAITPID, PPM_SC_SHMAT, PPM_SC_RT_SIGRETURN, PPM_SC_FALLOCATE, PPM_SC_NEWFSTATAT, PPM_SC_FINIT_MODULE, PPM_SC_SIGALTSTACK, PPM_SC_GETRANDOM, PPM_SC_FADVISE64, PPM_SC_SOCKETCALL, PPM_SC_FSPICK, PPM_SC_FSMOUNT, PPM_SC_FSOPEN, PPM_SC_OPEN_TREE, PPM_SC_MOVE_MOUNT, PPM_SC_MOUNT_SETATTR, PPM_SC_MEMFD_CREATE, PPM_SC_MEMFD_SECRET, PPM_SC_IOPERM, PPM_SC_KEXEC_FILE_LOAD, PPM_SC_PIDFD_GETFD, PPM_SC_PIDFD_OPEN, PPM_SC_PIDFD_SEND_SIGNAL, PPM_SC_PKEY_ALLOC, PPM_SC_PKEY_MPROTECT, PPM_SC_PKEY_FREE, PPM_SC_LANDLOCK_CREATE_RULESET, PPM_SC_QUOTACTL_FD, PPM_SC_LANDLOCK_RESTRICT_SELF, PPM_SC_LANDLOCK_ADD_RULE, PPM_SC_EPOLL_PWAIT2, PPM_SC_MIGRATE_PAGES, PPM_SC_MOVE_PAGES, PPM_SC_PREADV2, PPM_SC_PWRITEV2, PPM_SC_QUERY_MODULE, PPM_SC_STATX, PPM_SC_SET_MEMPOLICY, PPM_SC_FANOTIFY_MARK, PPM_SC_SYNC_FILE_RANGE, PPM_SC_READAHEAD, PPM_SC_PROCESS_MRELEASE, PPM_SC_MBIND, PPM_SC_PROCESS_MADVISE, PPM_SC_MEMBARRIER, PPM_SC_MODIFY_LDT, PPM_SC_SEMTIMEDOP, PPM_SC_NAME_TO_HANDLE_AT, PPM_SC_KCMP, PPM_SC_EPOLL_CTL_OLD, PPM_SC_EPOLL_WAIT_OLD, PPM_SC_FUTEX_WAITV, PPM_SC_CREATE_MODULE, PPM_SC__SYSCTL, PPM_SC_LOOKUP_DCOOKIE, PPM_SC_IOPL, PPM_SC_IO_PGETEVENTS, PPM_SC_GETPMSG, PPM_SC_SCHED_SETATTR, PPM_SC_GET_KERNEL_SYMS, PPM_SC_RSEQ, PPM_SC_CLOSE_RANGE, PPM_SC_GET_MEMPOLICY, PPM_SC_SCHED_GETATTR, PPM_SC_NFSSERVCTL, PPM_SC_SET_MEMPOLICY_HOME_NODE, PPM_SC_FACCESSAT2, PPM_SC_EPOLL_CTL, PPM_SC_PROCESS_VM_WRITEV, PPM_SC_SCHED_GETPARAM, PPM_SC_PSELECT6, PPM_SC_SCHED_SETPARAM, PPM_SC_PROCESS_VM_READV, PPM_SC_PAUSE, PPM_SC_UTIME, PPM_SC_SYSLOG, PPM_SC_USELIB, PPM_SC_ALARM, -1}, - [PPME_GENERIC_X] = (ppm_sc_code[]){ PPM_SC_RESTART_SYSCALL, PPM_SC_EXIT, PPM_SC_TIME, PPM_SC_MKNOD, PPM_SC_GETPID, PPM_SC_SYNC, PPM_SC_TIMES, PPM_SC_ACCT, PPM_SC_UMASK, PPM_SC_USTAT, PPM_SC_GETPPID, PPM_SC_GETPGRP, PPM_SC_SETHOSTNAME, PPM_SC_GETRUSAGE, PPM_SC_GETTIMEOFDAY, PPM_SC_SETTIMEOFDAY, PPM_SC_READLINK, PPM_SC_SWAPON, PPM_SC_REBOOT, PPM_SC_TRUNCATE, PPM_SC_FTRUNCATE, PPM_SC_GETPRIORITY, PPM_SC_SETPRIORITY, PPM_SC_STATFS, PPM_SC_FSTATFS, PPM_SC_SETITIMER, PPM_SC_GETITIMER, PPM_SC_UNAME, PPM_SC_VHANGUP, PPM_SC_WAIT4, PPM_SC_SWAPOFF, PPM_SC_SYSINFO, PPM_SC_FSYNC, PPM_SC_SETDOMAINNAME, PPM_SC_ADJTIMEX, PPM_SC_INIT_MODULE, PPM_SC_DELETE_MODULE, PPM_SC_GETPGID, PPM_SC_SYSFS, PPM_SC_PERSONALITY, PPM_SC_MSYNC, PPM_SC_GETSID, PPM_SC_FDATASYNC, PPM_SC_SCHED_SETSCHEDULER, PPM_SC_SCHED_GETSCHEDULER, PPM_SC_SCHED_YIELD, PPM_SC_SCHED_GET_PRIORITY_MAX, PPM_SC_SCHED_GET_PRIORITY_MIN, PPM_SC_SCHED_RR_GET_INTERVAL, PPM_SC_MREMAP, PPM_SC_PRCTL, PPM_SC_ARCH_PRCTL, PPM_SC_RT_SIGACTION, PPM_SC_RT_SIGPROCMASK, PPM_SC_RT_SIGPENDING, PPM_SC_RT_SIGTIMEDWAIT, PPM_SC_RT_SIGQUEUEINFO, PPM_SC_RT_SIGSUSPEND, PPM_SC_CAPGET, PPM_SC_SETREUID, PPM_SC_SETREGID, PPM_SC_GETGROUPS, PPM_SC_SETGROUPS, PPM_SC_SETFSUID, PPM_SC_SETFSGID, PPM_SC_PIVOT_ROOT, PPM_SC_MINCORE, PPM_SC_MADVISE, PPM_SC_GETTID, PPM_SC_SETXATTR, PPM_SC_LSETXATTR, PPM_SC_FSETXATTR, PPM_SC_GETXATTR, PPM_SC_LGETXATTR, PPM_SC_FGETXATTR, PPM_SC_LISTXATTR, PPM_SC_LLISTXATTR, PPM_SC_FLISTXATTR, PPM_SC_REMOVEXATTR, PPM_SC_LREMOVEXATTR, PPM_SC_FREMOVEXATTR,PPM_SC_SCHED_SETAFFINITY, PPM_SC_SCHED_GETAFFINITY, PPM_SC_SET_THREAD_AREA, PPM_SC_GET_THREAD_AREA, PPM_SC_IO_SETUP, PPM_SC_IO_DESTROY, PPM_SC_IO_GETEVENTS, PPM_SC_IO_SUBMIT, PPM_SC_IO_CANCEL, PPM_SC_EXIT_GROUP, PPM_SC_REMAP_FILE_PAGES, PPM_SC_SET_TID_ADDRESS, PPM_SC_TIMER_CREATE, PPM_SC_TIMER_SETTIME, PPM_SC_TIMER_GETTIME, PPM_SC_TIMER_GETOVERRUN, PPM_SC_TIMER_DELETE, PPM_SC_CLOCK_SETTIME, PPM_SC_CLOCK_GETTIME, PPM_SC_CLOCK_GETRES, PPM_SC_CLOCK_NANOSLEEP,PPM_SC_UTIMES, PPM_SC_MQ_OPEN, PPM_SC_MQ_UNLINK, PPM_SC_MQ_TIMEDSEND, PPM_SC_MQ_TIMEDRECEIVE, PPM_SC_MQ_NOTIFY, PPM_SC_MQ_GETSETATTR, PPM_SC_KEXEC_LOAD, PPM_SC_WAITID, PPM_SC_ADD_KEY, PPM_SC_REQUEST_KEY, PPM_SC_KEYCTL, PPM_SC_IOPRIO_SET, PPM_SC_IOPRIO_GET, PPM_SC_INOTIFY_ADD_WATCH, PPM_SC_INOTIFY_RM_WATCH, PPM_SC_MKNODAT, PPM_SC_FUTIMESAT, PPM_SC_READLINKAT, PPM_SC_FACCESSAT, PPM_SC_SET_ROBUST_LIST, PPM_SC_GET_ROBUST_LIST, PPM_SC_TEE, PPM_SC_VMSPLICE, PPM_SC_GETCPU, PPM_SC_EPOLL_PWAIT, PPM_SC_UTIMENSAT, PPM_SC_TIMERFD_SETTIME, PPM_SC_TIMERFD_GETTIME, PPM_SC_RT_TGSIGQUEUEINFO, PPM_SC_PERF_EVENT_OPEN, PPM_SC_FANOTIFY_INIT, PPM_SC_CLOCK_ADJTIME, PPM_SC_SYNCFS, PPM_SC_MSGSND, PPM_SC_MSGRCV, PPM_SC_MSGGET, PPM_SC_MSGCTL, PPM_SC_SHMDT, PPM_SC_SHMGET, PPM_SC_SHMCTL, PPM_SC_STATFS64, PPM_SC_FSTATFS64, PPM_SC_FSTATAT64, PPM_SC_BDFLUSH, PPM_SC_SIGPROCMASK, PPM_SC_IPC, PPM_SC__NEWSELECT, PPM_SC_SGETMASK, PPM_SC_SSETMASK, PPM_SC_SIGPENDING, PPM_SC_OLDUNAME, PPM_SC_SIGNAL, PPM_SC_NICE, PPM_SC_STIME, PPM_SC_WAITPID, PPM_SC_SHMAT, PPM_SC_RT_SIGRETURN, PPM_SC_FALLOCATE, PPM_SC_NEWFSTATAT, PPM_SC_FINIT_MODULE, PPM_SC_SIGALTSTACK, PPM_SC_GETRANDOM, PPM_SC_FADVISE64, PPM_SC_SOCKETCALL, PPM_SC_FSPICK, PPM_SC_FSMOUNT, PPM_SC_FSOPEN, PPM_SC_OPEN_TREE, PPM_SC_MOVE_MOUNT, PPM_SC_MOUNT_SETATTR, PPM_SC_MEMFD_CREATE, PPM_SC_MEMFD_SECRET, PPM_SC_IOPERM, PPM_SC_KEXEC_FILE_LOAD, PPM_SC_PIDFD_GETFD, PPM_SC_PIDFD_OPEN, PPM_SC_PIDFD_SEND_SIGNAL, PPM_SC_PKEY_ALLOC, PPM_SC_PKEY_MPROTECT, PPM_SC_PKEY_FREE, PPM_SC_LANDLOCK_CREATE_RULESET, PPM_SC_QUOTACTL_FD, PPM_SC_LANDLOCK_RESTRICT_SELF, PPM_SC_LANDLOCK_ADD_RULE, PPM_SC_EPOLL_PWAIT2, PPM_SC_MIGRATE_PAGES, PPM_SC_MOVE_PAGES, PPM_SC_PREADV2, PPM_SC_PWRITEV2, PPM_SC_QUERY_MODULE, PPM_SC_STATX, PPM_SC_SET_MEMPOLICY, PPM_SC_FANOTIFY_MARK, PPM_SC_SYNC_FILE_RANGE, PPM_SC_READAHEAD, PPM_SC_PROCESS_MRELEASE, PPM_SC_MBIND, PPM_SC_PROCESS_MADVISE, PPM_SC_MEMBARRIER, PPM_SC_MODIFY_LDT, PPM_SC_SEMTIMEDOP, PPM_SC_NAME_TO_HANDLE_AT, PPM_SC_KCMP, PPM_SC_EPOLL_CTL_OLD, PPM_SC_EPOLL_WAIT_OLD, PPM_SC_FUTEX_WAITV, PPM_SC_CREATE_MODULE, PPM_SC__SYSCTL, PPM_SC_LOOKUP_DCOOKIE, PPM_SC_IOPL, PPM_SC_IO_PGETEVENTS, PPM_SC_GETPMSG, PPM_SC_SCHED_SETATTR, PPM_SC_GET_KERNEL_SYMS, PPM_SC_RSEQ, PPM_SC_CLOSE_RANGE, PPM_SC_GET_MEMPOLICY, PPM_SC_SCHED_GETATTR, PPM_SC_NFSSERVCTL, PPM_SC_SET_MEMPOLICY_HOME_NODE, PPM_SC_FACCESSAT2, PPM_SC_EPOLL_CTL, PPM_SC_PROCESS_VM_WRITEV, PPM_SC_SCHED_GETPARAM, PPM_SC_PSELECT6, PPM_SC_SCHED_SETPARAM, PPM_SC_PROCESS_VM_READV, PPM_SC_PAUSE, PPM_SC_UTIME, PPM_SC_SYSLOG, PPM_SC_USELIB, PPM_SC_ALARM, -1}, + [PPME_GENERIC_E] = (ppm_sc_code[]){ PPM_SC_RESTART_SYSCALL, PPM_SC_EXIT, PPM_SC_TIME, PPM_SC_MKNOD, PPM_SC_GETPID, PPM_SC_SYNC, PPM_SC_TIMES, PPM_SC_ACCT, PPM_SC_UMASK, PPM_SC_USTAT, PPM_SC_GETPPID, PPM_SC_GETPGRP, PPM_SC_SETHOSTNAME, PPM_SC_GETRUSAGE, PPM_SC_GETTIMEOFDAY, PPM_SC_SETTIMEOFDAY, PPM_SC_READLINK, PPM_SC_SWAPON, PPM_SC_REBOOT, PPM_SC_TRUNCATE, PPM_SC_FTRUNCATE, PPM_SC_GETPRIORITY, PPM_SC_SETPRIORITY, PPM_SC_STATFS, PPM_SC_FSTATFS, PPM_SC_SETITIMER, PPM_SC_GETITIMER, PPM_SC_UNAME, PPM_SC_VHANGUP, PPM_SC_WAIT4, PPM_SC_SWAPOFF, PPM_SC_SYSINFO, PPM_SC_FSYNC, PPM_SC_SETDOMAINNAME, PPM_SC_ADJTIMEX, PPM_SC_INIT_MODULE, PPM_SC_DELETE_MODULE, PPM_SC_GETPGID, PPM_SC_SYSFS, PPM_SC_PERSONALITY, PPM_SC_MSYNC, PPM_SC_GETSID, PPM_SC_FDATASYNC, PPM_SC_SCHED_SETSCHEDULER, PPM_SC_SCHED_GETSCHEDULER, PPM_SC_SCHED_YIELD, PPM_SC_SCHED_GET_PRIORITY_MAX, PPM_SC_SCHED_GET_PRIORITY_MIN, PPM_SC_SCHED_RR_GET_INTERVAL, PPM_SC_MREMAP, PPM_SC_PRCTL, PPM_SC_ARCH_PRCTL, PPM_SC_RT_SIGACTION, PPM_SC_RT_SIGPROCMASK, PPM_SC_RT_SIGPENDING, PPM_SC_RT_SIGTIMEDWAIT, PPM_SC_RT_SIGQUEUEINFO, PPM_SC_RT_SIGSUSPEND, PPM_SC_CAPGET, PPM_SC_SETREUID, PPM_SC_SETREGID, PPM_SC_GETGROUPS, PPM_SC_SETGROUPS, PPM_SC_SETFSUID, PPM_SC_SETFSGID, PPM_SC_PIVOT_ROOT, PPM_SC_MINCORE, PPM_SC_MADVISE, PPM_SC_GETTID, PPM_SC_SETXATTR, PPM_SC_LSETXATTR, PPM_SC_FSETXATTR, PPM_SC_GETXATTR, PPM_SC_LGETXATTR, PPM_SC_FGETXATTR, PPM_SC_LISTXATTR, PPM_SC_LLISTXATTR, PPM_SC_FLISTXATTR, PPM_SC_REMOVEXATTR, PPM_SC_LREMOVEXATTR, PPM_SC_FREMOVEXATTR,PPM_SC_SCHED_SETAFFINITY, PPM_SC_SCHED_GETAFFINITY, PPM_SC_SET_THREAD_AREA, PPM_SC_GET_THREAD_AREA, PPM_SC_IO_SETUP, PPM_SC_IO_DESTROY, PPM_SC_IO_GETEVENTS, PPM_SC_IO_SUBMIT, PPM_SC_IO_CANCEL, PPM_SC_EXIT_GROUP, PPM_SC_REMAP_FILE_PAGES, PPM_SC_SET_TID_ADDRESS, PPM_SC_TIMER_CREATE, PPM_SC_TIMER_SETTIME, PPM_SC_TIMER_GETTIME, PPM_SC_TIMER_GETOVERRUN, PPM_SC_TIMER_DELETE, PPM_SC_CLOCK_SETTIME, PPM_SC_CLOCK_GETTIME, PPM_SC_CLOCK_GETRES, PPM_SC_CLOCK_NANOSLEEP,PPM_SC_UTIMES, PPM_SC_MQ_OPEN, PPM_SC_MQ_UNLINK, PPM_SC_MQ_TIMEDSEND, PPM_SC_MQ_TIMEDRECEIVE, PPM_SC_MQ_NOTIFY, PPM_SC_MQ_GETSETATTR, PPM_SC_KEXEC_LOAD, PPM_SC_WAITID, PPM_SC_ADD_KEY, PPM_SC_REQUEST_KEY, PPM_SC_KEYCTL, PPM_SC_IOPRIO_SET, PPM_SC_IOPRIO_GET, PPM_SC_INOTIFY_ADD_WATCH, PPM_SC_INOTIFY_RM_WATCH, PPM_SC_MKNODAT, PPM_SC_FUTIMESAT, PPM_SC_READLINKAT, PPM_SC_FACCESSAT, PPM_SC_SET_ROBUST_LIST, PPM_SC_GET_ROBUST_LIST, PPM_SC_TEE, PPM_SC_VMSPLICE, PPM_SC_GETCPU, PPM_SC_EPOLL_PWAIT, PPM_SC_UTIMENSAT, PPM_SC_TIMERFD_SETTIME, PPM_SC_TIMERFD_GETTIME, PPM_SC_RT_TGSIGQUEUEINFO, PPM_SC_PERF_EVENT_OPEN, PPM_SC_FANOTIFY_INIT, PPM_SC_CLOCK_ADJTIME, PPM_SC_SYNCFS, PPM_SC_MSGSND, PPM_SC_MSGRCV, PPM_SC_MSGGET, PPM_SC_MSGCTL, PPM_SC_SHMDT, PPM_SC_SHMGET, PPM_SC_SHMCTL, PPM_SC_STATFS64, PPM_SC_FSTATFS64, PPM_SC_FSTATAT64, PPM_SC_BDFLUSH, PPM_SC_SIGPROCMASK, PPM_SC_IPC, PPM_SC__NEWSELECT, PPM_SC_SGETMASK, PPM_SC_SSETMASK, PPM_SC_SIGPENDING, PPM_SC_OLDUNAME, PPM_SC_SIGNAL, PPM_SC_NICE, PPM_SC_STIME, PPM_SC_WAITPID, PPM_SC_SHMAT, PPM_SC_RT_SIGRETURN, PPM_SC_FALLOCATE, PPM_SC_NEWFSTATAT, PPM_SC_FINIT_MODULE, PPM_SC_SIGALTSTACK, PPM_SC_GETRANDOM, PPM_SC_FADVISE64, PPM_SC_SOCKETCALL, PPM_SC_FSPICK, PPM_SC_FSMOUNT, PPM_SC_FSOPEN, PPM_SC_OPEN_TREE, PPM_SC_MOVE_MOUNT, PPM_SC_MOUNT_SETATTR, PPM_SC_MEMFD_CREATE, PPM_SC_MEMFD_SECRET, PPM_SC_IOPERM, PPM_SC_KEXEC_FILE_LOAD, PPM_SC_PIDFD_GETFD, PPM_SC_PIDFD_OPEN, PPM_SC_PIDFD_SEND_SIGNAL, PPM_SC_PKEY_ALLOC, PPM_SC_PKEY_MPROTECT, PPM_SC_PKEY_FREE, PPM_SC_LANDLOCK_CREATE_RULESET, PPM_SC_QUOTACTL_FD, PPM_SC_LANDLOCK_RESTRICT_SELF, PPM_SC_LANDLOCK_ADD_RULE, PPM_SC_EPOLL_PWAIT2, PPM_SC_MIGRATE_PAGES, PPM_SC_MOVE_PAGES, PPM_SC_PREADV2, PPM_SC_PWRITEV2, PPM_SC_QUERY_MODULE, PPM_SC_STATX, PPM_SC_SET_MEMPOLICY, PPM_SC_FANOTIFY_MARK, PPM_SC_SYNC_FILE_RANGE, PPM_SC_READAHEAD, PPM_SC_PROCESS_MRELEASE, PPM_SC_MBIND, PPM_SC_PROCESS_MADVISE, PPM_SC_MEMBARRIER, PPM_SC_MODIFY_LDT, PPM_SC_SEMTIMEDOP, PPM_SC_NAME_TO_HANDLE_AT, PPM_SC_KCMP, PPM_SC_EPOLL_CTL_OLD, PPM_SC_EPOLL_WAIT_OLD, PPM_SC_FUTEX_WAITV, PPM_SC_CREATE_MODULE, PPM_SC__SYSCTL, PPM_SC_LOOKUP_DCOOKIE, PPM_SC_IOPL, PPM_SC_IO_PGETEVENTS, PPM_SC_GETPMSG, PPM_SC_SCHED_SETATTR, PPM_SC_GET_KERNEL_SYMS, PPM_SC_RSEQ, PPM_SC_CLOSE_RANGE, PPM_SC_GET_MEMPOLICY, PPM_SC_SCHED_GETATTR, PPM_SC_NFSSERVCTL, PPM_SC_SET_MEMPOLICY_HOME_NODE, PPM_SC_FACCESSAT2, PPM_SC_EPOLL_CTL, PPM_SC_PROCESS_VM_WRITEV, PPM_SC_SCHED_GETPARAM, PPM_SC_PSELECT6, PPM_SC_SCHED_SETPARAM, PPM_SC_PROCESS_VM_READV, PPM_SC_PAUSE, PPM_SC_UTIME, PPM_SC_SYSLOG, PPM_SC_USELIB, PPM_SC_ALARM, PPM_SC_READDIR, PPM_SC_FUTEX_WAIT, PPM_SC_LSM_GET_SELF_ATTR, PPM_SC_RISCV_HWPROBE, PPM_SC_S390_PCI_MMIO_READ, PPM_SC_S390_STHYI, PPM_SC_VM86, PPM_SC_FUTEX_WAKE, PPM_SC_SIGSUSPEND, PPM_SC_LSM_LIST_MODULES, PPM_SC_LISTMOUNT, PPM_SC_S390_RUNTIME_INSTR, PPM_SC_SWITCH_ENDIAN, PPM_SC_SUBPAGE_PROT, PPM_SC_OLDSTAT, PPM_SC_PCICONFIG_IOBASE, PPM_SC_OLDLSTAT, PPM_SC_FUTEX_REQUEUE, PPM_SC_MAP_SHADOW_STACK, PPM_SC_STATMOUNT, PPM_SC_TIMERFD, PPM_SC_S390_PCI_MMIO_WRITE, PPM_SC_SPU_RUN, PPM_SC_CACHESTAT, PPM_SC_RTAS, PPM_SC_FCHMODAT2, PPM_SC_PCICONFIG_READ, PPM_SC_LSM_SET_SELF_ATTR, PPM_SC_PCICONFIG_WRITE, PPM_SC_SPU_CREATE, PPM_SC_MULTIPLEXER, PPM_SC_OLDFSTAT, PPM_SC_SIGACTION, PPM_SC_SWAPCONTEXT, PPM_SC_SIGRETURN, PPM_SC_OLDOLDUNAME, PPM_SC_SYS_DEBUG_SETCONTEXT, PPM_SC_SYNC_FILE_RANGE2, PPM_SC_RISCV_FLUSH_ICACHE, PPM_SC_S390_GUARDED_STORAGE, -1}, + [PPME_GENERIC_X] = (ppm_sc_code[]){ PPM_SC_RESTART_SYSCALL, PPM_SC_EXIT, PPM_SC_TIME, PPM_SC_MKNOD, PPM_SC_GETPID, PPM_SC_SYNC, PPM_SC_TIMES, PPM_SC_ACCT, PPM_SC_UMASK, PPM_SC_USTAT, PPM_SC_GETPPID, PPM_SC_GETPGRP, PPM_SC_SETHOSTNAME, PPM_SC_GETRUSAGE, PPM_SC_GETTIMEOFDAY, PPM_SC_SETTIMEOFDAY, PPM_SC_READLINK, PPM_SC_SWAPON, PPM_SC_REBOOT, PPM_SC_TRUNCATE, PPM_SC_FTRUNCATE, PPM_SC_GETPRIORITY, PPM_SC_SETPRIORITY, PPM_SC_STATFS, PPM_SC_FSTATFS, PPM_SC_SETITIMER, PPM_SC_GETITIMER, PPM_SC_UNAME, PPM_SC_VHANGUP, PPM_SC_WAIT4, PPM_SC_SWAPOFF, PPM_SC_SYSINFO, PPM_SC_FSYNC, PPM_SC_SETDOMAINNAME, PPM_SC_ADJTIMEX, PPM_SC_INIT_MODULE, PPM_SC_DELETE_MODULE, PPM_SC_GETPGID, PPM_SC_SYSFS, PPM_SC_PERSONALITY, PPM_SC_MSYNC, PPM_SC_GETSID, PPM_SC_FDATASYNC, PPM_SC_SCHED_SETSCHEDULER, PPM_SC_SCHED_GETSCHEDULER, PPM_SC_SCHED_YIELD, PPM_SC_SCHED_GET_PRIORITY_MAX, PPM_SC_SCHED_GET_PRIORITY_MIN, PPM_SC_SCHED_RR_GET_INTERVAL, PPM_SC_MREMAP, PPM_SC_PRCTL, PPM_SC_ARCH_PRCTL, PPM_SC_RT_SIGACTION, PPM_SC_RT_SIGPROCMASK, PPM_SC_RT_SIGPENDING, PPM_SC_RT_SIGTIMEDWAIT, PPM_SC_RT_SIGQUEUEINFO, PPM_SC_RT_SIGSUSPEND, PPM_SC_CAPGET, PPM_SC_SETREUID, PPM_SC_SETREGID, PPM_SC_GETGROUPS, PPM_SC_SETGROUPS, PPM_SC_SETFSUID, PPM_SC_SETFSGID, PPM_SC_PIVOT_ROOT, PPM_SC_MINCORE, PPM_SC_MADVISE, PPM_SC_GETTID, PPM_SC_SETXATTR, PPM_SC_LSETXATTR, PPM_SC_FSETXATTR, PPM_SC_GETXATTR, PPM_SC_LGETXATTR, PPM_SC_FGETXATTR, PPM_SC_LISTXATTR, PPM_SC_LLISTXATTR, PPM_SC_FLISTXATTR, PPM_SC_REMOVEXATTR, PPM_SC_LREMOVEXATTR, PPM_SC_FREMOVEXATTR,PPM_SC_SCHED_SETAFFINITY, PPM_SC_SCHED_GETAFFINITY, PPM_SC_SET_THREAD_AREA, PPM_SC_GET_THREAD_AREA, PPM_SC_IO_SETUP, PPM_SC_IO_DESTROY, PPM_SC_IO_GETEVENTS, PPM_SC_IO_SUBMIT, PPM_SC_IO_CANCEL, PPM_SC_EXIT_GROUP, PPM_SC_REMAP_FILE_PAGES, PPM_SC_SET_TID_ADDRESS, PPM_SC_TIMER_CREATE, PPM_SC_TIMER_SETTIME, PPM_SC_TIMER_GETTIME, PPM_SC_TIMER_GETOVERRUN, PPM_SC_TIMER_DELETE, PPM_SC_CLOCK_SETTIME, PPM_SC_CLOCK_GETTIME, PPM_SC_CLOCK_GETRES, PPM_SC_CLOCK_NANOSLEEP,PPM_SC_UTIMES, PPM_SC_MQ_OPEN, PPM_SC_MQ_UNLINK, PPM_SC_MQ_TIMEDSEND, PPM_SC_MQ_TIMEDRECEIVE, PPM_SC_MQ_NOTIFY, PPM_SC_MQ_GETSETATTR, PPM_SC_KEXEC_LOAD, PPM_SC_WAITID, PPM_SC_ADD_KEY, PPM_SC_REQUEST_KEY, PPM_SC_KEYCTL, PPM_SC_IOPRIO_SET, PPM_SC_IOPRIO_GET, PPM_SC_INOTIFY_ADD_WATCH, PPM_SC_INOTIFY_RM_WATCH, PPM_SC_MKNODAT, PPM_SC_FUTIMESAT, PPM_SC_READLINKAT, PPM_SC_FACCESSAT, PPM_SC_SET_ROBUST_LIST, PPM_SC_GET_ROBUST_LIST, PPM_SC_TEE, PPM_SC_VMSPLICE, PPM_SC_GETCPU, PPM_SC_EPOLL_PWAIT, PPM_SC_UTIMENSAT, PPM_SC_TIMERFD_SETTIME, PPM_SC_TIMERFD_GETTIME, PPM_SC_RT_TGSIGQUEUEINFO, PPM_SC_PERF_EVENT_OPEN, PPM_SC_FANOTIFY_INIT, PPM_SC_CLOCK_ADJTIME, PPM_SC_SYNCFS, PPM_SC_MSGSND, PPM_SC_MSGRCV, PPM_SC_MSGGET, PPM_SC_MSGCTL, PPM_SC_SHMDT, PPM_SC_SHMGET, PPM_SC_SHMCTL, PPM_SC_STATFS64, PPM_SC_FSTATFS64, PPM_SC_FSTATAT64, PPM_SC_BDFLUSH, PPM_SC_SIGPROCMASK, PPM_SC_IPC, PPM_SC__NEWSELECT, PPM_SC_SGETMASK, PPM_SC_SSETMASK, PPM_SC_SIGPENDING, PPM_SC_OLDUNAME, PPM_SC_SIGNAL, PPM_SC_NICE, PPM_SC_STIME, PPM_SC_WAITPID, PPM_SC_SHMAT, PPM_SC_RT_SIGRETURN, PPM_SC_FALLOCATE, PPM_SC_NEWFSTATAT, PPM_SC_FINIT_MODULE, PPM_SC_SIGALTSTACK, PPM_SC_GETRANDOM, PPM_SC_FADVISE64, PPM_SC_SOCKETCALL, PPM_SC_FSPICK, PPM_SC_FSMOUNT, PPM_SC_FSOPEN, PPM_SC_OPEN_TREE, PPM_SC_MOVE_MOUNT, PPM_SC_MOUNT_SETATTR, PPM_SC_MEMFD_CREATE, PPM_SC_MEMFD_SECRET, PPM_SC_IOPERM, PPM_SC_KEXEC_FILE_LOAD, PPM_SC_PIDFD_GETFD, PPM_SC_PIDFD_OPEN, PPM_SC_PIDFD_SEND_SIGNAL, PPM_SC_PKEY_ALLOC, PPM_SC_PKEY_MPROTECT, PPM_SC_PKEY_FREE, PPM_SC_LANDLOCK_CREATE_RULESET, PPM_SC_QUOTACTL_FD, PPM_SC_LANDLOCK_RESTRICT_SELF, PPM_SC_LANDLOCK_ADD_RULE, PPM_SC_EPOLL_PWAIT2, PPM_SC_MIGRATE_PAGES, PPM_SC_MOVE_PAGES, PPM_SC_PREADV2, PPM_SC_PWRITEV2, PPM_SC_QUERY_MODULE, PPM_SC_STATX, PPM_SC_SET_MEMPOLICY, PPM_SC_FANOTIFY_MARK, PPM_SC_SYNC_FILE_RANGE, PPM_SC_READAHEAD, PPM_SC_PROCESS_MRELEASE, PPM_SC_MBIND, PPM_SC_PROCESS_MADVISE, PPM_SC_MEMBARRIER, PPM_SC_MODIFY_LDT, PPM_SC_SEMTIMEDOP, PPM_SC_NAME_TO_HANDLE_AT, PPM_SC_KCMP, PPM_SC_EPOLL_CTL_OLD, PPM_SC_EPOLL_WAIT_OLD, PPM_SC_FUTEX_WAITV, PPM_SC_CREATE_MODULE, PPM_SC__SYSCTL, PPM_SC_LOOKUP_DCOOKIE, PPM_SC_IOPL, PPM_SC_IO_PGETEVENTS, PPM_SC_GETPMSG, PPM_SC_SCHED_SETATTR, PPM_SC_GET_KERNEL_SYMS, PPM_SC_RSEQ, PPM_SC_CLOSE_RANGE, PPM_SC_GET_MEMPOLICY, PPM_SC_SCHED_GETATTR, PPM_SC_NFSSERVCTL, PPM_SC_SET_MEMPOLICY_HOME_NODE, PPM_SC_FACCESSAT2, PPM_SC_EPOLL_CTL, PPM_SC_PROCESS_VM_WRITEV, PPM_SC_SCHED_GETPARAM, PPM_SC_PSELECT6, PPM_SC_SCHED_SETPARAM, PPM_SC_PROCESS_VM_READV, PPM_SC_PAUSE, PPM_SC_UTIME, PPM_SC_SYSLOG, PPM_SC_USELIB, PPM_SC_ALARM, PPM_SC_OLDFSTAT, PPM_SC_PCICONFIG_READ, PPM_SC_LSM_SET_SELF_ATTR, PPM_SC_PCICONFIG_WRITE, PPM_SC_SPU_CREATE, PPM_SC_MULTIPLEXER, PPM_SC_S390_GUARDED_STORAGE, PPM_SC_SIGACTION, PPM_SC_SWAPCONTEXT, PPM_SC_SIGRETURN, PPM_SC_OLDOLDUNAME, PPM_SC_SYS_DEBUG_SETCONTEXT, PPM_SC_SYNC_FILE_RANGE2, PPM_SC_RISCV_FLUSH_ICACHE, PPM_SC_S390_PCI_MMIO_READ, PPM_SC_READDIR, PPM_SC_FUTEX_WAIT, PPM_SC_LSM_GET_SELF_ATTR, PPM_SC_RISCV_HWPROBE, PPM_SC_SIGSUSPEND, PPM_SC_S390_STHYI, PPM_SC_VM86, PPM_SC_FUTEX_WAKE, PPM_SC_SUBPAGE_PROT, PPM_SC_LSM_LIST_MODULES, PPM_SC_LISTMOUNT, PPM_SC_S390_RUNTIME_INSTR, PPM_SC_SWITCH_ENDIAN, PPM_SC_FUTEX_REQUEUE, PPM_SC_OLDSTAT, PPM_SC_PCICONFIG_IOBASE, PPM_SC_OLDLSTAT, PPM_SC_TIMERFD, PPM_SC_MAP_SHADOW_STACK, PPM_SC_STATMOUNT, PPM_SC_FCHMODAT2, PPM_SC_S390_PCI_MMIO_WRITE, PPM_SC_SPU_RUN, PPM_SC_CACHESTAT, PPM_SC_RTAS, -1}, [PPME_SYSCALL_OPEN_E] = (ppm_sc_code[]){PPM_SC_OPEN, -1}, [PPME_SYSCALL_OPEN_X] = (ppm_sc_code[]){PPM_SC_OPEN, -1}, [PPME_SYSCALL_CLOSE_E] = (ppm_sc_code[]){PPM_SC_CLOSE, -1},