From c0f0213a32386753136d4f92393d6f9347711b34 Mon Sep 17 00:00:00 2001 From: yzewei Date: Thu, 1 Aug 2024 02:37:57 +0000 Subject: [PATCH] update(driver): update syscalls tables and driver report. Signed-off-by: GitHub --- docs/report.md | 825 +++++++++++++------------- driver/SCHEMA_VERSION | 2 +- driver/ppm_events_public.h | 5 +- driver/syscall_compat_aarch64.h | 10 +- driver/syscall_compat_loongarch64.h | 12 + driver/syscall_compat_ppc64le.h | 3 + driver/syscall_compat_riscv64.h | 10 +- driver/syscall_compat_s390x.h | 3 + driver/syscall_compat_x86_64.h | 6 + driver/syscall_ia32_64_map.c | 1 + driver/syscall_table.c | 9 + userspace/libscap/linux/scap_ppm_sc.c | 4 +- 12 files changed, 471 insertions(+), 419 deletions(-) diff --git a/docs/report.md b/docs/report.md index 6733c28501..57ddcea1fb 100644 --- a/docs/report.md +++ b/docs/report.md @@ -1,411 +1,414 @@ -| 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 | +| SYSCALL | SUPPORTED | ARCHITECTURE | +|-------------------------|-----------|--------------------------------------------------| +| _llseek | 🟢 | ppc64le | +| _newselect | 🟡 | ppc64le | +| accept | 🟢 | aarch64,loongarch64,ppc64le,riscv64,x86_64 | +| accept4 | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| access | 🟢 | ppc64le,s390x,x86_64 | +| acct | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| add_key | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| adjtimex | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| alarm | 🟡 | ppc64le,s390x,x86_64 | +| arch_prctl | 🟡 | x86_64 | +| bind | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| bpf | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| brk | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| cachestat | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| capget | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| capset | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| chdir | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| chmod | 🟢 | ppc64le,s390x,x86_64 | +| chown | 🟢 | ppc64le,s390x,x86_64 | +| chroot | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| clock_adjtime | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| clock_getres | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| clock_gettime | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| clock_nanosleep | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| clock_settime | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| clone | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| clone3 | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| close | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| close_range | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| connect | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| copy_file_range | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| creat | 🟢 | ppc64le,s390x,x86_64 | +| delete_module | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| dup | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| dup2 | 🟢 | ppc64le,s390x,x86_64 | +| dup3 | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| epoll_create | 🟢 | ppc64le,s390x,x86_64 | +| epoll_create1 | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| epoll_ctl | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| epoll_ctl_old | 🟡 | x86_64 | +| epoll_pwait | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| epoll_pwait2 | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| epoll_wait | 🟢 | ppc64le,s390x,x86_64 | +| epoll_wait_old | 🟡 | x86_64 | +| eventfd | 🟢 | ppc64le,s390x,x86_64 | +| eventfd2 | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| execve | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| execveat | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| exit | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| exit_group | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| faccessat | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| faccessat2 | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| fadvise64 | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| fallocate | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| fanotify_init | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| fanotify_mark | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| fchdir | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| fchmod | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| fchmodat | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| fchmodat2 | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| fchown | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| fchownat | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| fcntl | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| fdatasync | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| fgetxattr | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| finit_module | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| flistxattr | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| flock | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| fork | 🟢 | ppc64le,s390x,x86_64 | +| fremovexattr | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| fsconfig | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| fsetxattr | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| fsmount | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| fsopen | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| fspick | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| fstat | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| fstatat | 🟡 | aarch64,loongarch64,riscv64 | +| fstatfs | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| fstatfs64 | 🟡 | ppc64le,s390x | +| fsync | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| ftruncate | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| futex | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| futex_requeue | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| futex_wait | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| futex_waitv | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| futex_wake | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| futimesat | 🟡 | ppc64le,s390x,x86_64 | +| get_mempolicy | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| get_robust_list | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| get_thread_area | 🟡 | x86_64 | +| getcpu | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| getcwd | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| getdents | 🟢 | ppc64le,s390x,x86_64 | +| getdents64 | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| getegid | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| geteuid | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| getgid | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| getgroups | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| getitimer | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| getpeername | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| getpgid | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| getpgrp | 🟡 | ppc64le,s390x,x86_64 | +| getpid | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| getppid | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| getpriority | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| getrandom | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| getresgid | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| getresuid | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| getrlimit | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| getrusage | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| getsid | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| getsockname | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| getsockopt | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| gettid | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| gettimeofday | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| getuid | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| getxattr | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| init_module | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| inotify_add_watch | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| inotify_init | 🟢 | ppc64le,s390x,x86_64 | +| inotify_init1 | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| inotify_rm_watch | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| io_cancel | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| io_destroy | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| io_getevents | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| io_pgetevents | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| io_setup | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| io_submit | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| io_uring_enter | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| io_uring_register | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| io_uring_setup | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| ioctl | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| ioperm | 🟡 | ppc64le,x86_64 | +| iopl | 🟡 | ppc64le,x86_64 | +| ioprio_get | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| ioprio_set | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| ipc | 🟡 | ppc64le,s390x | +| kcmp | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| kexec_file_load | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| kexec_load | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| keyctl | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| kill | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| landlock_add_rule | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| landlock_create_ruleset | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| landlock_restrict_self | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| lchown | 🟢 | ppc64le,s390x,x86_64 | +| lgetxattr | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| link | 🟢 | ppc64le,s390x,x86_64 | +| linkat | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| listen | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| listmount | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| listxattr | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| llistxattr | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| lookup_dcookie | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| lremovexattr | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| lseek | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| lsetxattr | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| lsm_get_self_attr | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| lsm_list_modules | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| lsm_set_self_attr | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| lstat | 🟢 | ppc64le,s390x,x86_64 | +| madvise | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| map_shadow_stack | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| mbind | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| membarrier | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| memfd_create | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| memfd_secret | 🟡 | aarch64,riscv64,s390x,x86_64 | +| migrate_pages | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| mincore | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| mkdir | 🟢 | ppc64le,s390x,x86_64 | +| mkdirat | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| mknod | 🟢 | ppc64le,s390x,x86_64 | +| mknodat | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| mlock | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| mlock2 | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| mlockall | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| mmap | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| modify_ldt | 🟡 | ppc64le,x86_64 | +| mount | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| mount_setattr | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| move_mount | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| move_pages | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| mprotect | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| mq_getsetattr | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| mq_notify | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| mq_open | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| mq_timedreceive | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| mq_timedsend | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| mq_unlink | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| mremap | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| mseal | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| msgctl | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| msgget | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| msgrcv | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| msgsnd | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| msync | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| multiplexer | 🟡 | ppc64le | +| munlock | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| munlockall | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| munmap | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| name_to_handle_at | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| nanosleep | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| newfstatat | 🟢 | ppc64le,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,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| open_tree | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| openat | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| openat2 | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| pause | 🟡 | ppc64le,s390x,x86_64 | +| pciconfig_iobase | 🟡 | ppc64le | +| pciconfig_read | 🟡 | ppc64le | +| pciconfig_write | 🟡 | ppc64le | +| perf_event_open | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| personality | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| pidfd_getfd | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| pidfd_open | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| pidfd_send_signal | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| pipe | 🟢 | ppc64le,s390x,x86_64 | +| pipe2 | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| pivot_root | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| pkey_alloc | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| pkey_free | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| pkey_mprotect | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| poll | 🟢 | ppc64le,s390x,x86_64 | +| ppoll | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| prctl | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| pread64 | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| preadv | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| preadv2 | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| prlimit64 | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| process_madvise | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| process_mrelease | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| process_vm_readv | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| process_vm_writev | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| pselect6 | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| ptrace | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| pwrite64 | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| pwritev | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| pwritev2 | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| quotactl | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| quotactl_fd | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| read | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| readahead | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| readdir | 🟡 | ppc64le,s390x | +| readlink | 🟡 | ppc64le,s390x,x86_64 | +| readlinkat | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| readv | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| reboot | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| recv | 🟢 | ppc64le | +| recvfrom | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| recvmmsg | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| recvmsg | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| remap_file_pages | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| removexattr | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| rename | 🟢 | ppc64le,s390x,x86_64 | +| renameat | 🟢 | aarch64,ppc64le,s390x,x86_64 | +| renameat2 | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| request_key | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| restart_syscall | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| riscv_flush_icache | 🟡 | riscv64 | +| riscv_hwprobe | 🟡 | riscv64 | +| rmdir | 🟢 | ppc64le,s390x,x86_64 | +| rseq | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| rt_sigaction | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| rt_sigpending | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| rt_sigprocmask | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| rt_sigqueueinfo | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| rt_sigreturn | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| rt_sigsuspend | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| rt_sigtimedwait | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| rt_tgsigqueueinfo | 🟡 | aarch64,loongarch64,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,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| sched_get_priority_min | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| sched_getaffinity | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| sched_getattr | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| sched_getparam | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| sched_getscheduler | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| sched_rr_get_interval | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| sched_setaffinity | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| sched_setattr | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| sched_setparam | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| sched_setscheduler | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| sched_yield | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| seccomp | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| select | 🟢 | ppc64le,s390x,x86_64 | +| semctl | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| semget | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| semop | 🟢 | aarch64,loongarch64,riscv64,x86_64 | +| semtimedop | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| send | 🟢 | ppc64le | +| sendfile | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| sendmmsg | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| sendmsg | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| sendto | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| set_mempolicy | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| set_mempolicy_home_node | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| set_robust_list | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| set_thread_area | 🟡 | x86_64 | +| set_tid_address | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| setdomainname | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| setfsgid | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| setfsuid | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| setgid | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| setgroups | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| sethostname | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| setitimer | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| setns | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| setpgid | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| setpriority | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| setregid | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| setresgid | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| setresuid | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| setreuid | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| setrlimit | 🟢 | aarch64,ppc64le,riscv64,s390x,x86_64 | +| setsid | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| setsockopt | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| settimeofday | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| setuid | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| setxattr | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| sgetmask | 🟡 | ppc64le | +| shmat | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| shmctl | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| shmdt | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| shmget | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| shutdown | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| sigaction | 🟡 | ppc64le,s390x | +| sigaltstack | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| signal | 🟡 | ppc64le,s390x | +| signalfd | 🟢 | ppc64le,s390x,x86_64 | +| signalfd4 | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| sigpending | 🟡 | ppc64le,s390x | +| sigprocmask | 🟡 | ppc64le,s390x | +| sigreturn | 🟡 | ppc64le,s390x | +| sigsuspend | 🟡 | ppc64le,s390x | +| socket | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| socketcall | 🟡 | ppc64le,s390x | +| socketpair | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| splice | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| spu_create | 🟡 | ppc64le | +| spu_run | 🟡 | ppc64le | +| ssetmask | 🟡 | ppc64le | +| stat | 🟢 | ppc64le,s390x,x86_64 | +| statfs | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| statfs64 | 🟡 | ppc64le,s390x | +| statmount | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| statx | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| stime | 🟡 | ppc64le | +| subpage_prot | 🟡 | ppc64le | +| swapcontext | 🟡 | ppc64le | +| swapoff | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| swapon | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| switch_endian | 🟡 | ppc64le | +| symlink | 🟢 | ppc64le,s390x,x86_64 | +| symlinkat | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| sync | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| sync_file_range | 🟡 | aarch64,loongarch64,riscv64,s390x,x86_64 | +| sync_file_range2 | 🟡 | ppc64le | +| syncfs | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| sys_debug_setcontext | 🟡 | ppc64le | +| sysfs | 🟡 | ppc64le,s390x,x86_64 | +| sysinfo | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| syslog | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| tee | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| tgkill | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| time | 🟡 | ppc64le,x86_64 | +| timer_create | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| timer_delete | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| timer_getoverrun | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| timer_gettime | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| timer_settime | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| timerfd | 🟡 | s390x | +| timerfd_create | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| timerfd_gettime | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| timerfd_settime | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| times | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| tkill | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| truncate | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| ugetrlimit | 🟢 | ppc64le | +| umask | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| umount | 🟢 | ppc64le,s390x | +| umount2 | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| uname | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| unlink | 🟢 | ppc64le,s390x,x86_64 | +| unlinkat | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| unshare | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| uretprobe | 🟡 | aarch64,loongarch64,riscv64,x86_64 | +| userfaultfd | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| ustat | 🟡 | ppc64le,s390x,x86_64 | +| utime | 🟡 | ppc64le,s390x,x86_64 | +| utimensat | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| utimes | 🟡 | ppc64le,s390x,x86_64 | +| vfork | 🟢 | ppc64le,s390x,x86_64 | +| vhangup | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| vm86 | 🟡 | ppc64le | +| vmsplice | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| wait4 | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| waitid | 🟡 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| waitpid | 🟡 | ppc64le | +| write | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | +| writev | 🟢 | aarch64,loongarch64,ppc64le,riscv64,s390x,x86_64 | diff --git a/driver/SCHEMA_VERSION b/driver/SCHEMA_VERSION index 417faf2358..7b054ef0ad 100644 --- a/driver/SCHEMA_VERSION +++ b/driver/SCHEMA_VERSION @@ -1 +1 @@ -2.19.6 +2.19.7 diff --git a/driver/ppm_events_public.h b/driver/ppm_events_public.h index cadaeabb6d..775abe31ff 100644 --- a/driver/ppm_events_public.h +++ b/driver/ppm_events_public.h @@ -1960,7 +1960,10 @@ enum extra_event_prog_code PPM_SC_X(STATMOUNT, 438) \ PPM_SC_X(LSM_GET_SELF_ATTR, 439) \ PPM_SC_X(LSM_SET_SELF_ATTR, 440) \ - PPM_SC_X(LSM_LIST_MODULES, 441) + PPM_SC_X(LSM_LIST_MODULES, 441) \ + PPM_SC_X(URETPROBE, 442) \ + PPM_SC_X(FSTATAT, 443) \ + PPM_SC_X(MSEAL, 444) 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 94fb1e5cc8..a30a7a26f9 100644 --- a/driver/syscall_compat_aarch64.h +++ b/driver/syscall_compat_aarch64.h @@ -248,8 +248,8 @@ or GPL2.txt for full copies of the license. #ifndef __NR_readlinkat #define __NR_readlinkat 78 #endif -#ifndef __NR_newfstatat -#define __NR_newfstatat 79 +#ifndef __NR_fstatat +#define __NR_fstatat 79 #endif #ifndef __NR_fstat #define __NR_fstat 80 @@ -962,3 +962,9 @@ or GPL2.txt for full copies of the license. #ifndef __NR_lsm_list_modules #define __NR_lsm_list_modules 461 #endif +#ifndef __NR_mseal +#define __NR_mseal 462 +#endif +#ifndef __NR_uretprobe +#define __NR_uretprobe 467 +#endif diff --git a/driver/syscall_compat_loongarch64.h b/driver/syscall_compat_loongarch64.h index ce46405609..ef6c821b07 100644 --- a/driver/syscall_compat_loongarch64.h +++ b/driver/syscall_compat_loongarch64.h @@ -245,6 +245,12 @@ or GPL2.txt for full copies of the license. #ifndef __NR_readlinkat #define __NR_readlinkat 78 #endif +#ifndef __NR_fstatat +#define __NR_fstatat 79 +#endif +#ifndef __NR_fstat +#define __NR_fstat 80 +#endif #ifndef __NR_sync #define __NR_sync 81 #endif @@ -944,3 +950,9 @@ or GPL2.txt for full copies of the license. #ifndef __NR_lsm_list_modules #define __NR_lsm_list_modules 461 #endif +#ifndef __NR_mseal +#define __NR_mseal 462 +#endif +#ifndef __NR_uretprobe +#define __NR_uretprobe 467 +#endif diff --git a/driver/syscall_compat_ppc64le.h b/driver/syscall_compat_ppc64le.h index 6e7140c916..8586d05899 100644 --- a/driver/syscall_compat_ppc64le.h +++ b/driver/syscall_compat_ppc64le.h @@ -1193,3 +1193,6 @@ or GPL2.txt for full copies of the license. #ifndef __NR_lsm_list_modules #define __NR_lsm_list_modules 461 #endif +#ifndef __NR_mseal +#define __NR_mseal 462 +#endif diff --git a/driver/syscall_compat_riscv64.h b/driver/syscall_compat_riscv64.h index c15def4d67..4f8395f027 100644 --- a/driver/syscall_compat_riscv64.h +++ b/driver/syscall_compat_riscv64.h @@ -245,8 +245,8 @@ or GPL2.txt for full copies of the license. #ifndef __NR_readlinkat #define __NR_readlinkat 78 #endif -#ifndef __NR_newfstatat -#define __NR_newfstatat 79 +#ifndef __NR_fstatat +#define __NR_fstatat 79 #endif #ifndef __NR_fstat #define __NR_fstat 80 @@ -965,3 +965,9 @@ or GPL2.txt for full copies of the license. #ifndef __NR_lsm_list_modules #define __NR_lsm_list_modules 461 #endif +#ifndef __NR_mseal +#define __NR_mseal 462 +#endif +#ifndef __NR_uretprobe +#define __NR_uretprobe 467 +#endif diff --git a/driver/syscall_compat_s390x.h b/driver/syscall_compat_s390x.h index d05ed90d7e..1bc271d7ac 100644 --- a/driver/syscall_compat_s390x.h +++ b/driver/syscall_compat_s390x.h @@ -1121,3 +1121,6 @@ or GPL2.txt for full copies of the license. #ifndef __NR_lsm_list_modules #define __NR_lsm_list_modules 461 #endif +#ifndef __NR_mseal +#define __NR_mseal 462 +#endif diff --git a/driver/syscall_compat_x86_64.h b/driver/syscall_compat_x86_64.h index 25c7db05e4..02d6468605 100644 --- a/driver/syscall_compat_x86_64.h +++ b/driver/syscall_compat_x86_64.h @@ -1097,3 +1097,9 @@ or GPL2.txt for full copies of the license. #ifndef __NR_lsm_list_modules #define __NR_lsm_list_modules 461 #endif +#ifndef __NR_mseal +#define __NR_mseal 462 +#endif +#ifndef __NR_uretprobe +#define __NR_uretprobe 467 +#endif diff --git a/driver/syscall_ia32_64_map.c b/driver/syscall_ia32_64_map.c index ad3bf738a6..f5a6271b9f 100644 --- a/driver/syscall_ia32_64_map.c +++ b/driver/syscall_ia32_64_map.c @@ -453,4 +453,5 @@ const int g_ia32_64_map[SYSCALL_TABLE_SIZE] = { [459] = 459, [460] = 460, [461] = 461, + [462] = 462, }; diff --git a/driver/syscall_table.c b/driver/syscall_table.c index a1a25b5988..65049fedbf 100644 --- a/driver/syscall_table.c +++ b/driver/syscall_table.c @@ -1009,4 +1009,13 @@ const struct syscall_evt_pair g_syscall_table[SYSCALL_TABLE_SIZE] = { #ifdef __NR_listmount [__NR_listmount - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_LISTMOUNT}, #endif +#ifdef __NR_mseal + [__NR_mseal - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_MSEAL}, +#endif +#ifdef __NR_uretprobe + [__NR_uretprobe - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_URETPROBE}, +#endif +#ifdef __NR_fstatat + [__NR_fstatat - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_FSTATAT}, +#endif }; diff --git a/userspace/libscap/linux/scap_ppm_sc.c b/userspace/libscap/linux/scap_ppm_sc.c index cc391610b2..0dfa856b17 100644 --- a/userspace/libscap/linux/scap_ppm_sc.c +++ b/userspace/libscap/linux/scap_ppm_sc.c @@ -30,8 +30,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_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_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_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_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_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_SECRET, PPM_SC_IOPERM, PPM_SC_KEXEC_FILE_LOAD, 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_SCHED_GETPARAM, PPM_SC_PSELECT6, PPM_SC_SCHED_SETPARAM, PPM_SC_PAUSE, PPM_SC_UTIME, PPM_SC_SYSLOG, PPM_SC_USELIB, PPM_SC_ALARM, PPM_SC_SIGSUSPEND, PPM_SC_IDLE, PPM_SC_S390_RUNTIME_INSTR, PPM_SC_SIGRETURN, PPM_SC_S390_GUARDED_STORAGE, PPM_SC_TIMERFD, PPM_SC_S390_PCI_MMIO_READ, PPM_SC_SIGACTION, PPM_SC_S390_PCI_MMIO_WRITE, PPM_SC_READDIR, PPM_SC_S390_STHYI, PPM_SC_CACHESTAT, PPM_SC_FCHMODAT2, PPM_SC_MAP_SHADOW_STACK, PPM_SC_RISCV_FLUSH_ICACHE, PPM_SC_RISCV_HWPROBE, PPM_SC_FUTEX_WAKE, PPM_SC_FUTEX_REQUEUE, PPM_SC_FUTEX_WAIT, PPM_SC_SYNC_FILE_RANGE2, PPM_SC_OLDFSTAT, PPM_SC_SPU_RUN, PPM_SC_SWAPCONTEXT, PPM_SC_OLDLSTAT, PPM_SC_SPU_CREATE, PPM_SC_PCICONFIG_READ, PPM_SC_SYS_DEBUG_SETCONTEXT, PPM_SC_VM86, PPM_SC_PCICONFIG_WRITE, PPM_SC_RTAS, PPM_SC_PCICONFIG_IOBASE, PPM_SC_OLDOLDUNAME, PPM_SC_SUBPAGE_PROT, PPM_SC_MULTIPLEXER, PPM_SC_OLDSTAT, PPM_SC_SWITCH_ENDIAN, PPM_SC_LISTMOUNT, PPM_SC_STATMOUNT, PPM_SC_LSM_GET_SELF_ATTR, PPM_SC_LSM_SET_SELF_ATTR, PPM_SC_LSM_LIST_MODULES, -1}, - [PPME_GENERIC_X] = (ppm_sc_code[]){ PPM_SC_RESTART_SYSCALL, PPM_SC_EXIT, PPM_SC_TIME, 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_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_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_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_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_SECRET, PPM_SC_IOPERM, PPM_SC_KEXEC_FILE_LOAD, 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_SCHED_GETPARAM, PPM_SC_PSELECT6, PPM_SC_SCHED_SETPARAM, PPM_SC_PAUSE, PPM_SC_UTIME, PPM_SC_SYSLOG, PPM_SC_USELIB, PPM_SC_ALARM, PPM_SC_TIMERFD, PPM_SC_S390_PCI_MMIO_READ, PPM_SC_SIGACTION, PPM_SC_S390_PCI_MMIO_WRITE, PPM_SC_READDIR, PPM_SC_S390_STHYI, PPM_SC_SIGSUSPEND, PPM_SC_IDLE, PPM_SC_S390_RUNTIME_INSTR, PPM_SC_SIGRETURN, PPM_SC_S390_GUARDED_STORAGE, PPM_SC_CACHESTAT, PPM_SC_FCHMODAT2, PPM_SC_MAP_SHADOW_STACK, PPM_SC_RISCV_FLUSH_ICACHE, PPM_SC_RISCV_HWPROBE, PPM_SC_FUTEX_WAKE, PPM_SC_FUTEX_REQUEUE, PPM_SC_FUTEX_WAIT, PPM_SC_OLDOLDUNAME, PPM_SC_SUBPAGE_PROT, PPM_SC_PCICONFIG_IOBASE, PPM_SC_OLDSTAT, PPM_SC_SWITCH_ENDIAN, PPM_SC_MULTIPLEXER, PPM_SC_OLDLSTAT, PPM_SC_SPU_CREATE, PPM_SC_SYNC_FILE_RANGE2, PPM_SC_OLDFSTAT, PPM_SC_SPU_RUN, PPM_SC_SWAPCONTEXT, PPM_SC_PCICONFIG_WRITE, PPM_SC_RTAS, PPM_SC_PCICONFIG_READ, PPM_SC_SYS_DEBUG_SETCONTEXT, PPM_SC_VM86, PPM_SC_LSM_SET_SELF_ATTR, PPM_SC_LSM_LIST_MODULES, PPM_SC_LISTMOUNT, PPM_SC_STATMOUNT, PPM_SC_LSM_GET_SELF_ATTR, -1}, + [PPME_GENERIC_E] = (ppm_sc_code[]){ PPM_SC_RESTART_SYSCALL, PPM_SC_EXIT, PPM_SC_TIME, 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_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_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_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_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_SECRET, PPM_SC_IOPERM, PPM_SC_KEXEC_FILE_LOAD, 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_SCHED_GETPARAM, PPM_SC_PSELECT6, PPM_SC_SCHED_SETPARAM, PPM_SC_PAUSE, PPM_SC_UTIME, PPM_SC_SYSLOG, PPM_SC_USELIB, PPM_SC_ALARM, PPM_SC_SIGSUSPEND, PPM_SC_IDLE, PPM_SC_S390_RUNTIME_INSTR, PPM_SC_SIGRETURN, PPM_SC_S390_GUARDED_STORAGE, PPM_SC_TIMERFD, PPM_SC_S390_PCI_MMIO_READ, PPM_SC_SIGACTION, PPM_SC_S390_PCI_MMIO_WRITE, PPM_SC_READDIR, PPM_SC_S390_STHYI, PPM_SC_CACHESTAT, PPM_SC_FCHMODAT2, PPM_SC_MAP_SHADOW_STACK, PPM_SC_RISCV_FLUSH_ICACHE, PPM_SC_RISCV_HWPROBE, PPM_SC_FUTEX_WAKE, PPM_SC_FUTEX_REQUEUE, PPM_SC_FUTEX_WAIT, PPM_SC_SYNC_FILE_RANGE2, PPM_SC_OLDFSTAT, PPM_SC_SPU_RUN, PPM_SC_SWAPCONTEXT, PPM_SC_OLDLSTAT, PPM_SC_SPU_CREATE, PPM_SC_PCICONFIG_READ, PPM_SC_SYS_DEBUG_SETCONTEXT, PPM_SC_VM86, PPM_SC_PCICONFIG_WRITE, PPM_SC_RTAS, PPM_SC_PCICONFIG_IOBASE, PPM_SC_OLDOLDUNAME, PPM_SC_SUBPAGE_PROT, PPM_SC_MULTIPLEXER, PPM_SC_OLDSTAT, PPM_SC_SWITCH_ENDIAN, PPM_SC_LISTMOUNT, PPM_SC_STATMOUNT, PPM_SC_LSM_GET_SELF_ATTR, PPM_SC_LSM_SET_SELF_ATTR, PPM_SC_LSM_LIST_MODULES, PPM_SC_MSEAL, PPM_SC_URETPROBE, PPM_SC_FSTATAT, -1}, + [PPME_GENERIC_X] = (ppm_sc_code[]){ PPM_SC_RESTART_SYSCALL, PPM_SC_EXIT, PPM_SC_TIME, 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_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_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_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_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_SECRET, PPM_SC_IOPERM, PPM_SC_KEXEC_FILE_LOAD, 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_SCHED_GETPARAM, PPM_SC_PSELECT6, PPM_SC_SCHED_SETPARAM, PPM_SC_PAUSE, PPM_SC_UTIME, PPM_SC_SYSLOG, PPM_SC_USELIB, PPM_SC_ALARM, PPM_SC_TIMERFD, PPM_SC_S390_PCI_MMIO_READ, PPM_SC_SIGACTION, PPM_SC_S390_PCI_MMIO_WRITE, PPM_SC_READDIR, PPM_SC_S390_STHYI, PPM_SC_SIGSUSPEND, PPM_SC_IDLE, PPM_SC_S390_RUNTIME_INSTR, PPM_SC_SIGRETURN, PPM_SC_S390_GUARDED_STORAGE, PPM_SC_CACHESTAT, PPM_SC_FCHMODAT2, PPM_SC_MAP_SHADOW_STACK, PPM_SC_RISCV_FLUSH_ICACHE, PPM_SC_RISCV_HWPROBE, PPM_SC_FUTEX_WAKE, PPM_SC_FUTEX_REQUEUE, PPM_SC_FUTEX_WAIT, PPM_SC_OLDOLDUNAME, PPM_SC_SUBPAGE_PROT, PPM_SC_PCICONFIG_IOBASE, PPM_SC_OLDSTAT, PPM_SC_SWITCH_ENDIAN, PPM_SC_MULTIPLEXER, PPM_SC_OLDLSTAT, PPM_SC_SPU_CREATE, PPM_SC_SYNC_FILE_RANGE2, PPM_SC_OLDFSTAT, PPM_SC_SPU_RUN, PPM_SC_SWAPCONTEXT, PPM_SC_PCICONFIG_WRITE, PPM_SC_RTAS, PPM_SC_PCICONFIG_READ, PPM_SC_SYS_DEBUG_SETCONTEXT, PPM_SC_VM86, PPM_SC_LSM_SET_SELF_ATTR, PPM_SC_LSM_LIST_MODULES, PPM_SC_LISTMOUNT, PPM_SC_STATMOUNT, PPM_SC_LSM_GET_SELF_ATTR, PPM_SC_URETPROBE, PPM_SC_FSTATAT, PPM_SC_MSEAL, -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},