From 9020772ae83d5a1ae87883b7919d11032a63c529 Mon Sep 17 00:00:00 2001 From: mdafsanhossain Date: Wed, 8 Nov 2023 04:26:58 -0500 Subject: [PATCH] Generated syscall_compat_* header files Signed-off-by: mdafsanhossain --- docs/report.md | 794 +++++++++-------- driver/SCHEMA_VERSION | 2 +- driver/ppm_events_public.h | 19 +- driver/syscall_compat_aarch64.h | 3 - driver/syscall_compat_ppc64le.h | 1180 +++++++++++++++++++++++++ driver/syscall_compat_riscv64.h | 3 - driver/syscall_compat_s390x.h | 27 - driver/syscall_compat_x86_64.h | 21 - driver/syscall_ia32_64_map.c | 795 ++++++++--------- driver/syscall_table.c | 51 ++ driver/syscall_table64.c | 2 + userspace/libscap/linux/scap_ppm_sc.c | 4 +- 12 files changed, 2053 insertions(+), 848 deletions(-) create mode 100644 driver/syscall_compat_ppc64le.h diff --git a/docs/report.md b/docs/report.md index c8bfa5a4127..ed84040c61c 100644 --- a/docs/report.md +++ b/docs/report.md @@ -1,388 +1,406 @@ -| SYSCALL | SUPPORTED | ARCHITECTURE | -|-------------------------|-----------|------------------------------| -| _sysctl | 🟡 | s390x,x86_64 | -| accept | 🟢 | aarch64,riscv64,x86_64 | -| accept4 | 🟢 | aarch64,s390x,riscv64,x86_64 | -| access | 🟢 | s390x,x86_64 | -| acct | 🟡 | aarch64,s390x,riscv64,x86_64 | -| add_key | 🟡 | aarch64,s390x,riscv64,x86_64 | -| adjtimex | 🟡 | riscv64,x86_64,aarch64,s390x | -| alarm | 🟡 | s390x,x86_64 | -| arch_prctl | 🟡 | x86_64 | -| bdflush | 🟡 | s390x | -| bind | 🟢 | aarch64,s390x,riscv64,x86_64 | -| bpf | 🟢 | aarch64,s390x,riscv64,x86_64 | -| brk | 🟢 | x86_64,aarch64,s390x,riscv64 | -| cachestat | 🟡 | aarch64,s390x,riscv64,x86_64 | -| capget | 🟡 | riscv64,x86_64,aarch64,s390x | -| capset | 🟢 | s390x,riscv64,x86_64,aarch64 | -| chdir | 🟢 | aarch64,s390x,riscv64,x86_64 | -| chmod | 🟢 | s390x,x86_64 | -| chown | 🟢 | s390x,x86_64 | -| chroot | 🟢 | s390x,riscv64,x86_64,aarch64 | -| clock_adjtime | 🟡 | riscv64,x86_64,aarch64,s390x | -| clock_getres | 🟡 | aarch64,s390x,riscv64,x86_64 | -| clock_gettime | 🟡 | aarch64,s390x,riscv64,x86_64 | -| clock_nanosleep | 🟡 | aarch64,s390x,riscv64,x86_64 | -| clock_settime | 🟡 | aarch64,s390x,riscv64,x86_64 | -| clone | 🟢 | x86_64,aarch64,s390x,riscv64 | -| clone3 | 🟢 | riscv64,x86_64,aarch64,s390x | -| close | 🟢 | aarch64,s390x,riscv64,x86_64 | -| close_range | 🟡 | aarch64,s390x,riscv64,x86_64 | -| connect | 🟢 | x86_64,aarch64,s390x,riscv64 | -| copy_file_range | 🟢 | aarch64,s390x,riscv64,x86_64 | -| creat | 🟢 | s390x,x86_64 | -| create_module | 🟡 | s390x,x86_64 | -| delete_module | 🟡 | aarch64,s390x,riscv64,x86_64 | -| dup | 🟢 | aarch64,s390x,riscv64,x86_64 | -| dup2 | 🟢 | s390x,x86_64 | -| dup3 | 🟢 | aarch64,s390x,riscv64,x86_64 | -| epoll_create | 🟢 | s390x,x86_64 | -| epoll_create1 | 🟢 | aarch64,s390x,riscv64,x86_64 | -| epoll_ctl | 🟡 | x86_64,aarch64,s390x,riscv64 | -| epoll_ctl_old | 🟡 | x86_64 | -| epoll_pwait | 🟡 | aarch64,s390x,riscv64,x86_64 | -| epoll_pwait2 | 🟡 | riscv64,x86_64,aarch64,s390x | -| epoll_wait | 🟢 | s390x,x86_64 | -| epoll_wait_old | 🟡 | x86_64 | -| eventfd | 🟢 | s390x,x86_64 | -| eventfd2 | 🟢 | s390x,riscv64,x86_64,aarch64 | -| execve | 🟢 | aarch64,s390x,riscv64,x86_64 | -| execveat | 🟢 | aarch64,s390x,riscv64,x86_64 | -| exit | 🟡 | aarch64,s390x,riscv64,x86_64 | -| exit_group | 🟡 | riscv64,x86_64,aarch64,s390x | -| faccessat | 🟡 | aarch64,s390x,riscv64,x86_64 | -| faccessat2 | 🟡 | aarch64,s390x,riscv64,x86_64 | -| fadvise64 | 🟡 | aarch64,s390x,riscv64,x86_64 | -| fallocate | 🟡 | riscv64,x86_64,aarch64,s390x | -| fanotify_init | 🟡 | x86_64,aarch64,s390x,riscv64 | -| fanotify_mark | 🟡 | aarch64,s390x,riscv64,x86_64 | -| fchdir | 🟢 | aarch64,s390x,riscv64,x86_64 | -| fchmod | 🟢 | aarch64,s390x,riscv64,x86_64 | -| fchmodat | 🟢 | aarch64,s390x,riscv64,x86_64 | -| fchmodat2 | 🟡 | aarch64,s390x,riscv64,x86_64 | -| fchown | 🟢 | aarch64,s390x,riscv64,x86_64 | -| fchownat | 🟢 | riscv64,x86_64,aarch64,s390x | -| fcntl | 🟢 | riscv64,x86_64,aarch64,s390x | -| fdatasync | 🟡 | aarch64,s390x,riscv64,x86_64 | -| fgetxattr | 🟡 | aarch64,s390x,riscv64,x86_64 | -| finit_module | 🟢 | x86_64,aarch64,s390x,riscv64 | -| flistxattr | 🟡 | aarch64,s390x,riscv64,x86_64 | -| flock | 🟢 | aarch64,s390x,riscv64,x86_64 | -| fork | 🟢 | s390x,x86_64 | -| fremovexattr | 🟡 | aarch64,s390x,riscv64,x86_64 | -| fsconfig | 🟢 | aarch64,s390x,riscv64,x86_64 | -| fsetxattr | 🟡 | aarch64,s390x,riscv64,x86_64 | -| fsmount | 🟡 | aarch64,s390x,riscv64,x86_64 | -| fsopen | 🟡 | aarch64,s390x,riscv64,x86_64 | -| fspick | 🟡 | x86_64,aarch64,s390x,riscv64 | -| fstat | 🟢 | aarch64,s390x,riscv64,x86_64 | -| fstatfs | 🟡 | aarch64,s390x,riscv64,x86_64 | -| fstatfs64 | 🟡 | s390x | -| fsync | 🟡 | s390x,riscv64,x86_64,aarch64 | -| ftruncate | 🟡 | aarch64,s390x,riscv64,x86_64 | -| futex | 🟢 | aarch64,s390x,riscv64,x86_64 | -| futex_requeue | 🟡 | aarch64,s390x,riscv64,x86_64 | -| futex_wait | 🟡 | aarch64,s390x,riscv64,x86_64 | -| futex_waitv | 🟡 | aarch64,s390x,riscv64,x86_64 | -| futex_wake | 🟡 | aarch64,s390x,riscv64,x86_64 | -| futimesat | 🟡 | s390x,x86_64 | -| get_kernel_syms | 🟡 | s390x,x86_64 | -| get_mempolicy | 🟡 | s390x,riscv64,x86_64,aarch64 | -| get_robust_list | 🟡 | aarch64,s390x,riscv64,x86_64 | -| get_thread_area | 🟡 | x86_64 | -| getcpu | 🟡 | riscv64,x86_64,aarch64,s390x | -| getcwd | 🟢 | aarch64,s390x,riscv64,x86_64 | -| getdents | 🟢 | s390x,x86_64 | -| getdents64 | 🟢 | aarch64,s390x,riscv64,x86_64 | -| getegid | 🟢 | x86_64,aarch64,s390x,riscv64 | -| geteuid | 🟢 | aarch64,s390x,riscv64,x86_64 | -| getgid | 🟢 | aarch64,s390x,riscv64,x86_64 | -| getgroups | 🟡 | x86_64,aarch64,s390x,riscv64 | -| getitimer | 🟡 | aarch64,s390x,riscv64,x86_64 | -| getpeername | 🟢 | aarch64,s390x,riscv64,x86_64 | -| getpgid | 🟡 | s390x,riscv64,x86_64,aarch64 | -| getpgrp | 🟡 | s390x,x86_64 | -| getpid | 🟡 | s390x,riscv64,x86_64,aarch64 | -| getpmsg | 🟡 | s390x,x86_64 | -| getppid | 🟡 | s390x,riscv64,x86_64,aarch64 | -| getpriority | 🟡 | x86_64,aarch64,s390x,riscv64 | -| getrandom | 🟡 | aarch64,s390x,riscv64,x86_64 | -| getresgid | 🟢 | aarch64,s390x,riscv64,x86_64 | -| getresuid | 🟢 | aarch64,s390x,riscv64,x86_64 | -| getrlimit | 🟢 | aarch64,s390x,riscv64,x86_64 | -| getrusage | 🟡 | aarch64,s390x,riscv64,x86_64 | -| getsid | 🟡 | aarch64,s390x,riscv64,x86_64 | -| getsockname | 🟢 | s390x,riscv64,x86_64,aarch64 | -| getsockopt | 🟢 | riscv64,x86_64,aarch64,s390x | -| gettid | 🟡 | s390x,riscv64,x86_64,aarch64 | -| gettimeofday | 🟡 | x86_64,aarch64,s390x,riscv64 | -| getuid | 🟢 | x86_64,aarch64,s390x,riscv64 | -| getxattr | 🟡 | x86_64,aarch64,s390x,riscv64 | -| idle | 🟡 | s390x | -| init_module | 🟢 | aarch64,s390x,riscv64,x86_64 | -| inotify_add_watch | 🟡 | aarch64,s390x,riscv64,x86_64 | -| inotify_init | 🟢 | x86_64,s390x | -| inotify_init1 | 🟢 | s390x,riscv64,x86_64,aarch64 | -| inotify_rm_watch | 🟡 | riscv64,x86_64,aarch64,s390x | -| io_cancel | 🟡 | aarch64,s390x,riscv64,x86_64 | -| io_destroy | 🟡 | aarch64,s390x,riscv64,x86_64 | -| io_getevents | 🟡 | aarch64,s390x,riscv64,x86_64 | -| io_pgetevents | 🟡 | aarch64,s390x,riscv64,x86_64 | -| io_setup | 🟡 | aarch64,s390x,riscv64,x86_64 | -| io_submit | 🟡 | s390x,riscv64,x86_64,aarch64 | -| io_uring_enter | 🟢 | aarch64,s390x,riscv64,x86_64 | -| io_uring_register | 🟢 | aarch64,s390x,riscv64,x86_64 | -| io_uring_setup | 🟢 | x86_64,aarch64,s390x,riscv64 | -| ioctl | 🟢 | aarch64,s390x,riscv64,x86_64 | -| ioperm | 🟡 | x86_64 | -| iopl | 🟡 | x86_64 | -| ioprio_get | 🟡 | aarch64,s390x,riscv64,x86_64 | -| ioprio_set | 🟡 | s390x,riscv64,x86_64,aarch64 | -| ipc | 🟡 | s390x | -| kcmp | 🟡 | s390x,riscv64,x86_64,aarch64 | -| kexec_file_load | 🟡 | x86_64,aarch64,s390x,riscv64 | -| kexec_load | 🟡 | s390x,riscv64,x86_64,aarch64 | -| keyctl | 🟡 | aarch64,s390x,riscv64,x86_64 | -| kill | 🟢 | aarch64,s390x,riscv64,x86_64 | -| landlock_add_rule | 🟡 | aarch64,s390x,riscv64,x86_64 | -| landlock_create_ruleset | 🟡 | aarch64,s390x,riscv64,x86_64 | -| landlock_restrict_self | 🟡 | x86_64,aarch64,s390x,riscv64 | -| lchown | 🟢 | s390x,x86_64 | -| lgetxattr | 🟡 | riscv64,x86_64,aarch64,s390x | -| link | 🟢 | s390x,x86_64 | -| linkat | 🟢 | aarch64,s390x,riscv64,x86_64 | -| listen | 🟢 | riscv64,x86_64,aarch64,s390x | -| listxattr | 🟡 | aarch64,s390x,riscv64,x86_64 | -| llistxattr | 🟡 | x86_64,aarch64,s390x,riscv64 | -| lookup_dcookie | 🟡 | aarch64,s390x,riscv64,x86_64 | -| lremovexattr | 🟡 | aarch64,s390x,riscv64,x86_64 | -| lseek | 🟢 | aarch64,s390x,riscv64,x86_64 | -| lsetxattr | 🟡 | aarch64,s390x,riscv64,x86_64 | -| lstat | 🟢 | s390x,x86_64 | -| madvise | 🟡 | aarch64,s390x,riscv64,x86_64 | -| map_shadow_stack | 🟡 | aarch64,s390x,riscv64,x86_64 | -| mbind | 🟡 | aarch64,s390x,riscv64,x86_64 | -| membarrier | 🟡 | aarch64,s390x,riscv64,x86_64 | -| memfd_create | 🟢 | aarch64,s390x,riscv64,x86_64 | -| memfd_secret | 🟡 | aarch64,s390x,riscv64,x86_64 | -| migrate_pages | 🟡 | s390x,riscv64,x86_64,aarch64 | -| mincore | 🟡 | aarch64,s390x,riscv64,x86_64 | -| mkdir | 🟢 | s390x,x86_64 | -| mkdirat | 🟢 | s390x,riscv64,x86_64,aarch64 | -| mknod | 🟢 | s390x,x86_64 | -| mknodat | 🟢 | x86_64,aarch64,s390x,riscv64 | -| mlock | 🟢 | aarch64,s390x,riscv64,x86_64 | -| mlock2 | 🟢 | aarch64,s390x,riscv64,x86_64 | -| mlockall | 🟢 | aarch64,s390x,riscv64,x86_64 | -| mmap | 🟢 | aarch64,s390x,riscv64,x86_64 | -| modify_ldt | 🟡 | x86_64 | -| mount | 🟢 | aarch64,s390x,riscv64,x86_64 | -| mount_setattr | 🟡 | x86_64,aarch64,s390x,riscv64 | -| move_mount | 🟡 | aarch64,s390x,riscv64,x86_64 | -| move_pages | 🟡 | aarch64,s390x,riscv64,x86_64 | -| mprotect | 🟢 | s390x,riscv64,x86_64,aarch64 | -| mq_getsetattr | 🟡 | x86_64,aarch64,s390x,riscv64 | -| mq_notify | 🟡 | aarch64,s390x,riscv64,x86_64 | -| mq_open | 🟡 | aarch64,s390x,riscv64,x86_64 | -| mq_timedreceive | 🟡 | aarch64,s390x,riscv64,x86_64 | -| mq_timedsend | 🟡 | s390x,riscv64,x86_64,aarch64 | -| mq_unlink | 🟡 | riscv64,x86_64,aarch64,s390x | -| mremap | 🟡 | aarch64,s390x,riscv64,x86_64 | -| msgctl | 🟡 | aarch64,s390x,riscv64,x86_64 | -| msgget | 🟡 | aarch64,s390x,riscv64,x86_64 | -| msgrcv | 🟡 | aarch64,s390x,riscv64,x86_64 | -| msgsnd | 🟡 | aarch64,s390x,riscv64,x86_64 | -| msync | 🟡 | x86_64,aarch64,s390x,riscv64 | -| munlock | 🟢 | riscv64,x86_64,aarch64,s390x | -| munlockall | 🟢 | aarch64,s390x,riscv64,x86_64 | -| munmap | 🟢 | aarch64,s390x,riscv64,x86_64 | -| name_to_handle_at | 🟡 | x86_64,aarch64,s390x,riscv64 | -| nanosleep | 🟢 | aarch64,s390x,riscv64,x86_64 | -| newfstatat | 🟡 | x86_64,aarch64,s390x,riscv64 | -| nfsservctl | 🟡 | aarch64,s390x,riscv64,x86_64 | -| nice | 🟡 | s390x | -| open | 🟢 | s390x,x86_64 | -| open_by_handle_at | 🟢 | aarch64,s390x,riscv64,x86_64 | -| open_tree | 🟡 | aarch64,s390x,riscv64,x86_64 | -| openat | 🟢 | aarch64,s390x,riscv64,x86_64 | -| openat2 | 🟢 | aarch64,s390x,riscv64,x86_64 | -| pause | 🟡 | s390x,x86_64 | -| perf_event_open | 🟡 | aarch64,s390x,riscv64,x86_64 | -| personality | 🟡 | s390x,riscv64,x86_64,aarch64 | -| pidfd_getfd | 🟢 | aarch64,s390x,riscv64,x86_64 | -| pidfd_open | 🟢 | aarch64,s390x,riscv64,x86_64 | -| pidfd_send_signal | 🟡 | s390x,riscv64,x86_64,aarch64 | -| pipe | 🟢 | s390x,x86_64 | -| pipe2 | 🟢 | s390x,riscv64,x86_64,aarch64 | -| pivot_root | 🟡 | aarch64,s390x,riscv64,x86_64 | -| pkey_alloc | 🟡 | aarch64,s390x,riscv64,x86_64 | -| pkey_free | 🟡 | aarch64,s390x,riscv64,x86_64 | -| pkey_mprotect | 🟡 | s390x,riscv64,x86_64,aarch64 | -| poll | 🟢 | s390x,x86_64 | -| ppoll | 🟢 | aarch64,s390x,riscv64,x86_64 | -| prctl | 🟢 | riscv64,x86_64,aarch64,s390x | -| pread64 | 🟢 | aarch64,s390x,riscv64,x86_64 | -| preadv | 🟢 | riscv64,x86_64,aarch64,s390x | -| preadv2 | 🟡 | aarch64,s390x,riscv64,x86_64 | -| prlimit64 | 🟢 | aarch64,s390x,riscv64,x86_64 | -| process_madvise | 🟡 | x86_64,aarch64,s390x,riscv64 | -| process_mrelease | 🟡 | s390x,riscv64,x86_64,aarch64 | -| process_vm_readv | 🟡 | aarch64,s390x,riscv64,x86_64 | -| process_vm_writev | 🟡 | riscv64,x86_64,aarch64,s390x | -| pselect6 | 🟡 | aarch64,s390x,riscv64,x86_64 | -| ptrace | 🟢 | aarch64,s390x,riscv64,x86_64 | -| pwrite64 | 🟢 | riscv64,x86_64,aarch64,s390x | -| pwritev | 🟢 | s390x,riscv64,x86_64,aarch64 | -| pwritev2 | 🟡 | x86_64,aarch64,s390x,riscv64 | -| query_module | 🟡 | s390x,x86_64 | -| quotactl | 🟢 | x86_64,aarch64,s390x,riscv64 | -| quotactl_fd | 🟡 | aarch64,s390x,riscv64,x86_64 | -| read | 🟢 | aarch64,s390x,riscv64,x86_64 | -| readahead | 🟡 | aarch64,s390x,riscv64,x86_64 | -| readdir | 🟡 | s390x | -| readlink | 🟡 | x86_64,s390x | -| readlinkat | 🟡 | x86_64,aarch64,s390x,riscv64 | -| readv | 🟢 | s390x,riscv64,x86_64,aarch64 | -| reboot | 🟡 | aarch64,s390x,riscv64,x86_64 | -| recvfrom | 🟢 | aarch64,s390x,riscv64,x86_64 | -| recvmmsg | 🟢 | aarch64,s390x,riscv64,x86_64 | -| recvmsg | 🟢 | x86_64,aarch64,s390x,riscv64 | -| remap_file_pages | 🟡 | x86_64,aarch64,s390x,riscv64 | -| removexattr | 🟡 | aarch64,s390x,riscv64,x86_64 | -| rename | 🟢 | s390x,x86_64 | -| renameat | 🟢 | x86_64,aarch64,s390x | -| renameat2 | 🟢 | aarch64,s390x,riscv64,x86_64 | -| request_key | 🟡 | x86_64,aarch64,s390x,riscv64 | -| restart_syscall | 🟡 | s390x,riscv64,x86_64,aarch64 | -| riscv_flush_icache | 🟡 | riscv64 | -| riscv_hwprobe | 🟡 | riscv64 | -| rmdir | 🟢 | s390x,x86_64 | -| rseq | 🟡 | aarch64,s390x,riscv64,x86_64 | -| rt_sigaction | 🟡 | aarch64,s390x,riscv64,x86_64 | -| rt_sigpending | 🟡 | aarch64,s390x,riscv64,x86_64 | -| rt_sigprocmask | 🟡 | x86_64,aarch64,s390x,riscv64 | -| rt_sigqueueinfo | 🟡 | aarch64,s390x,riscv64,x86_64 | -| rt_sigreturn | 🟡 | s390x,riscv64,x86_64,aarch64 | -| rt_sigsuspend | 🟡 | aarch64,s390x,riscv64,x86_64 | -| rt_sigtimedwait | 🟡 | aarch64,s390x,riscv64,x86_64 | -| rt_tgsigqueueinfo | 🟡 | aarch64,s390x,riscv64,x86_64 | -| 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,s390x,riscv64,x86_64 | -| sched_get_priority_min | 🟡 | aarch64,s390x,riscv64,x86_64 | -| sched_getaffinity | 🟡 | aarch64,s390x,riscv64,x86_64 | -| sched_getattr | 🟡 | aarch64,s390x,riscv64,x86_64 | -| sched_getparam | 🟡 | x86_64,aarch64,s390x,riscv64 | -| sched_getscheduler | 🟡 | aarch64,s390x,riscv64,x86_64 | -| sched_rr_get_interval | 🟡 | x86_64,aarch64,s390x,riscv64 | -| sched_setaffinity | 🟡 | x86_64,aarch64,s390x,riscv64 | -| sched_setattr | 🟡 | aarch64,s390x,riscv64,x86_64 | -| sched_setparam | 🟡 | x86_64,aarch64,s390x,riscv64 | -| sched_setscheduler | 🟡 | riscv64,x86_64,aarch64,s390x | -| sched_yield | 🟡 | x86_64,aarch64,s390x,riscv64 | -| seccomp | 🟢 | aarch64,s390x,riscv64,x86_64 | -| select | 🟢 | x86_64,s390x | -| semctl | 🟢 | aarch64,s390x,riscv64,x86_64 | -| semget | 🟢 | x86_64,aarch64,s390x,riscv64 | -| semop | 🟢 | aarch64,riscv64,x86_64 | -| semtimedop | 🟡 | aarch64,s390x,riscv64,x86_64 | -| sendfile | 🟢 | aarch64,s390x,riscv64,x86_64 | -| sendmmsg | 🟢 | aarch64,s390x,riscv64,x86_64 | -| sendmsg | 🟢 | aarch64,s390x,riscv64,x86_64 | -| sendto | 🟢 | aarch64,s390x,riscv64,x86_64 | -| set_mempolicy | 🟡 | aarch64,s390x,riscv64,x86_64 | -| set_mempolicy_home_node | 🟡 | s390x,riscv64,x86_64,aarch64 | -| set_robust_list | 🟡 | s390x,riscv64,x86_64,aarch64 | -| set_thread_area | 🟡 | x86_64 | -| set_tid_address | 🟡 | aarch64,s390x,riscv64,x86_64 | -| setdomainname | 🟡 | x86_64,aarch64,s390x,riscv64 | -| setfsgid | 🟡 | riscv64,x86_64,aarch64,s390x | -| setfsuid | 🟡 | x86_64,aarch64,s390x,riscv64 | -| setgid | 🟢 | aarch64,s390x,riscv64,x86_64 | -| setgroups | 🟡 | aarch64,s390x,riscv64,x86_64 | -| sethostname | 🟡 | aarch64,s390x,riscv64,x86_64 | -| setitimer | 🟡 | aarch64,s390x,riscv64,x86_64 | -| setns | 🟢 | aarch64,s390x,riscv64,x86_64 | -| setpgid | 🟢 | aarch64,s390x,riscv64,x86_64 | -| setpriority | 🟡 | x86_64,aarch64,s390x,riscv64 | -| setregid | 🟡 | aarch64,s390x,riscv64,x86_64 | -| setresgid | 🟢 | riscv64,x86_64,aarch64,s390x | -| setresuid | 🟢 | x86_64,aarch64,s390x,riscv64 | -| setreuid | 🟡 | riscv64,x86_64,aarch64,s390x | -| setrlimit | 🟢 | aarch64,s390x,riscv64,x86_64 | -| setsid | 🟢 | s390x,riscv64,x86_64,aarch64 | -| setsockopt | 🟢 | aarch64,s390x,riscv64,x86_64 | -| settimeofday | 🟡 | aarch64,s390x,riscv64,x86_64 | -| setuid | 🟢 | aarch64,s390x,riscv64,x86_64 | -| setxattr | 🟡 | aarch64,s390x,riscv64,x86_64 | -| shmat | 🟡 | aarch64,s390x,riscv64,x86_64 | -| shmctl | 🟡 | aarch64,s390x,riscv64,x86_64 | -| shmdt | 🟡 | s390x,riscv64,x86_64,aarch64 | -| shmget | 🟡 | riscv64,x86_64,aarch64,s390x | -| shutdown | 🟢 | aarch64,s390x,riscv64,x86_64 | -| sigaction | 🟡 | s390x | -| sigaltstack | 🟡 | aarch64,s390x,riscv64,x86_64 | -| signal | 🟡 | s390x | -| signalfd | 🟢 | x86_64,s390x | -| signalfd4 | 🟢 | x86_64,aarch64,s390x,riscv64 | -| sigpending | 🟡 | s390x | -| sigprocmask | 🟡 | s390x | -| sigreturn | 🟡 | s390x | -| sigsuspend | 🟡 | s390x | -| socket | 🟢 | x86_64,aarch64,s390x,riscv64 | -| socketcall | 🟡 | s390x | -| socketpair | 🟢 | riscv64,x86_64,aarch64,s390x | -| splice | 🟢 | riscv64,x86_64,aarch64,s390x | -| stat | 🟢 | s390x,x86_64 | -| statfs | 🟡 | x86_64,aarch64,s390x,riscv64 | -| statfs64 | 🟡 | s390x | -| statx | 🟡 | s390x,riscv64,x86_64,aarch64 | -| swapoff | 🟡 | s390x,riscv64,x86_64,aarch64 | -| swapon | 🟡 | x86_64,aarch64,s390x,riscv64 | -| symlink | 🟢 | s390x,x86_64 | -| symlinkat | 🟢 | aarch64,s390x,riscv64,x86_64 | -| sync | 🟡 | aarch64,s390x,riscv64,x86_64 | -| sync_file_range | 🟡 | s390x,riscv64,x86_64,aarch64 | -| syncfs | 🟡 | x86_64,aarch64,s390x,riscv64 | -| sysfs | 🟡 | x86_64,s390x | -| sysinfo | 🟡 | aarch64,s390x,riscv64,x86_64 | -| syslog | 🟡 | aarch64,s390x,riscv64,x86_64 | -| tee | 🟡 | aarch64,s390x,riscv64,x86_64 | -| tgkill | 🟢 | aarch64,s390x,riscv64,x86_64 | -| time | 🟡 | x86_64 | -| timer_create | 🟡 | s390x,riscv64,x86_64,aarch64 | -| timer_delete | 🟡 | aarch64,s390x,riscv64,x86_64 | -| timer_getoverrun | 🟡 | aarch64,s390x,riscv64,x86_64 | -| timer_gettime | 🟡 | aarch64,s390x,riscv64,x86_64 | -| timer_settime | 🟡 | s390x,riscv64,x86_64,aarch64 | -| timerfd | 🟡 | s390x | -| timerfd_create | 🟢 | aarch64,s390x,riscv64,x86_64 | -| timerfd_gettime | 🟡 | aarch64,s390x,riscv64,x86_64 | -| timerfd_settime | 🟡 | aarch64,s390x,riscv64,x86_64 | -| times | 🟡 | aarch64,s390x,riscv64,x86_64 | -| tkill | 🟢 | riscv64,x86_64,aarch64,s390x | -| truncate | 🟡 | s390x,riscv64,x86_64,aarch64 | -| umask | 🟡 | aarch64,s390x,riscv64,x86_64 | -| umount | 🟢 | s390x | -| umount2 | 🟢 | aarch64,s390x,riscv64,x86_64 | -| uname | 🟡 | aarch64,s390x,riscv64,x86_64 | -| unlink | 🟢 | s390x,x86_64 | -| unlinkat | 🟢 | aarch64,s390x,riscv64,x86_64 | -| unshare | 🟢 | aarch64,s390x,riscv64,x86_64 | -| uselib | 🟡 | s390x,x86_64 | -| userfaultfd | 🟢 | x86_64,aarch64,s390x,riscv64 | -| ustat | 🟡 | s390x,x86_64 | -| utime | 🟡 | s390x,x86_64 | -| utimensat | 🟡 | x86_64,aarch64,s390x,riscv64 | -| utimes | 🟡 | s390x,x86_64 | -| vfork | 🟢 | s390x,x86_64 | -| vhangup | 🟡 | aarch64,s390x,riscv64,x86_64 | -| vmsplice | 🟡 | aarch64,s390x,riscv64,x86_64 | -| wait4 | 🟡 | aarch64,s390x,riscv64,x86_64 | -| waitid | 🟡 | aarch64,s390x,riscv64,x86_64 | -| write | 🟢 | riscv64,x86_64,aarch64,s390x | -| writev | 🟢 | riscv64,x86_64,aarch64,s390x | +| SYSCALL | SUPPORTED | ARCHITECTURE | +|-------------------------|-----------|--------------------------------------| +| _llseek | 🟢 | ppc64le | +| _newselect | 🟡 | ppc64le | +| accept | 🟢 | ppc64le,riscv64,x86_64,aarch64 | +| accept4 | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| access | 🟢 | s390x,ppc64le,x86_64 | +| acct | 🟡 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| add_key | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| adjtimex | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| alarm | 🟡 | s390x,ppc64le,x86_64 | +| arch_prctl | 🟡 | x86_64 | +| bind | 🟢 | riscv64,x86_64,aarch64,s390x,ppc64le | +| bpf | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| brk | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| cachestat | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| capget | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| capset | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| chdir | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| chmod | 🟢 | x86_64,s390x,ppc64le | +| chown | 🟢 | x86_64,s390x,ppc64le | +| chroot | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| clock_adjtime | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| clock_getres | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| clock_gettime | 🟡 | riscv64,x86_64,aarch64,s390x,ppc64le | +| clock_nanosleep | 🟡 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| clock_settime | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| clone | 🟢 | riscv64,x86_64,aarch64,s390x,ppc64le | +| clone3 | 🟢 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| close | 🟢 | riscv64,x86_64,aarch64,s390x,ppc64le | +| close_range | 🟡 | riscv64,x86_64,aarch64,s390x,ppc64le | +| connect | 🟢 | ppc64le,riscv64,x86_64,aarch64,s390x | +| copy_file_range | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| creat | 🟢 | x86_64,s390x,ppc64le | +| delete_module | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| dup | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| dup2 | 🟢 | s390x,ppc64le,x86_64 | +| dup3 | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| epoll_create | 🟢 | x86_64,s390x,ppc64le | +| epoll_create1 | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| epoll_ctl | 🟡 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| epoll_ctl_old | 🟡 | x86_64 | +| epoll_pwait | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| epoll_pwait2 | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| epoll_wait | 🟢 | ppc64le,x86_64,s390x | +| epoll_wait_old | 🟡 | x86_64 | +| eventfd | 🟢 | x86_64,s390x,ppc64le | +| eventfd2 | 🟢 | ppc64le,riscv64,x86_64,aarch64,s390x | +| execve | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| execveat | 🟢 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| exit | 🟡 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| exit_group | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| faccessat | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| faccessat2 | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| fadvise64 | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| fallocate | 🟡 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| fanotify_init | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| fanotify_mark | 🟡 | riscv64,x86_64,aarch64,s390x,ppc64le | +| fchdir | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| fchmod | 🟢 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| fchmodat | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| fchmodat2 | 🟡 | riscv64,x86_64,aarch64,s390x,ppc64le | +| fchown | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| fchownat | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| fcntl | 🟢 | riscv64,x86_64,aarch64,s390x,ppc64le | +| fdatasync | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| fgetxattr | 🟡 | ppc64le,riscv64,x86_64,aarch64,s390x | +| finit_module | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| flistxattr | 🟡 | ppc64le,riscv64,x86_64,aarch64,s390x | +| flock | 🟢 | ppc64le,riscv64,x86_64,aarch64,s390x | +| fork | 🟢 | x86_64,s390x,ppc64le | +| fremovexattr | 🟡 | ppc64le,riscv64,x86_64,aarch64,s390x | +| fsconfig | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| fsetxattr | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| fsmount | 🟡 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| fsopen | 🟡 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| fspick | 🟡 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| fstat | 🟢 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| fstatfs | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| fstatfs64 | 🟡 | ppc64le,s390x | +| fsync | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| ftruncate | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| futex | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| futex_requeue | 🟡 | ppc64le,riscv64,x86_64,aarch64,s390x | +| futex_wait | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| futex_waitv | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| futex_wake | 🟡 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| futimesat | 🟡 | x86_64,s390x,ppc64le | +| get_mempolicy | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| get_robust_list | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| get_thread_area | 🟡 | x86_64 | +| getcpu | 🟡 | ppc64le,riscv64,x86_64,aarch64,s390x | +| getcwd | 🟢 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| getdents | 🟢 | x86_64,s390x,ppc64le | +| getdents64 | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| getegid | 🟢 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| geteuid | 🟢 | ppc64le,riscv64,x86_64,aarch64,s390x | +| getgid | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| getgroups | 🟡 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| getitimer | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| getpeername | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| getpgid | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| getpgrp | 🟡 | ppc64le,x86_64,s390x | +| getpid | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| getppid | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| getpriority | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| getrandom | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| getresgid | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| getresuid | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| getrlimit | 🟢 | ppc64le,riscv64,x86_64,aarch64,s390x | +| getrusage | 🟡 | ppc64le,riscv64,x86_64,aarch64,s390x | +| getsid | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| getsockname | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| getsockopt | 🟢 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| gettid | 🟡 | ppc64le,riscv64,x86_64,aarch64,s390x | +| gettimeofday | 🟡 | ppc64le,riscv64,x86_64,aarch64,s390x | +| getuid | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| getxattr | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| init_module | 🟢 | riscv64,x86_64,aarch64,s390x,ppc64le | +| inotify_add_watch | 🟡 | riscv64,x86_64,aarch64,s390x,ppc64le | +| inotify_init | 🟢 | ppc64le,x86_64,s390x | +| inotify_init1 | 🟢 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| inotify_rm_watch | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| io_cancel | 🟡 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| io_destroy | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| io_getevents | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| io_pgetevents | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| io_setup | 🟡 | ppc64le,riscv64,x86_64,aarch64,s390x | +| io_submit | 🟡 | riscv64,x86_64,aarch64,s390x,ppc64le | +| io_uring_enter | 🟢 | ppc64le,riscv64,x86_64,aarch64,s390x | +| io_uring_register | 🟢 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| io_uring_setup | 🟢 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| ioctl | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| ioperm | 🟡 | ppc64le,x86_64 | +| iopl | 🟡 | x86_64,ppc64le | +| ioprio_get | 🟡 | riscv64,x86_64,aarch64,s390x,ppc64le | +| ioprio_set | 🟡 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| ipc | 🟡 | s390x,ppc64le | +| kcmp | 🟡 | ppc64le,riscv64,x86_64,aarch64,s390x | +| kexec_file_load | 🟡 | riscv64,x86_64,aarch64,s390x,ppc64le | +| kexec_load | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| keyctl | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| kill | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| landlock_add_rule | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| landlock_create_ruleset | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| landlock_restrict_self | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| lchown | 🟢 | s390x,ppc64le,x86_64 | +| lgetxattr | 🟡 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| link | 🟢 | s390x,ppc64le,x86_64 | +| linkat | 🟢 | riscv64,x86_64,aarch64,s390x,ppc64le | +| listen | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| listxattr | 🟡 | ppc64le,riscv64,x86_64,aarch64,s390x | +| llistxattr | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| lookup_dcookie | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| lremovexattr | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| lseek | 🟢 | ppc64le,riscv64,x86_64,aarch64,s390x | +| lsetxattr | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| lstat | 🟢 | x86_64,s390x,ppc64le | +| madvise | 🟡 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| map_shadow_stack | 🟡 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| mbind | 🟡 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| membarrier | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| memfd_create | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| memfd_secret | 🟡 | x86_64,aarch64,s390x,riscv64 | +| migrate_pages | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| mincore | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| mkdir | 🟢 | ppc64le,x86_64,s390x | +| mkdirat | 🟢 | ppc64le,riscv64,x86_64,aarch64,s390x | +| mknod | 🟢 | x86_64,s390x,ppc64le | +| mknodat | 🟢 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| mlock | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| mlock2 | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| mlockall | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| mmap | 🟢 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| modify_ldt | 🟡 | ppc64le,x86_64 | +| mount | 🟢 | ppc64le,riscv64,x86_64,aarch64,s390x | +| mount_setattr | 🟡 | ppc64le,riscv64,x86_64,aarch64,s390x | +| move_mount | 🟡 | riscv64,x86_64,aarch64,s390x,ppc64le | +| move_pages | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| mprotect | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| mq_getsetattr | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| mq_notify | 🟡 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| mq_open | 🟡 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| mq_timedreceive | 🟡 | riscv64,x86_64,aarch64,s390x,ppc64le | +| mq_timedsend | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| mq_unlink | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| mremap | 🟡 | ppc64le,riscv64,x86_64,aarch64,s390x | +| msgctl | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| msgget | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| msgrcv | 🟡 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| msgsnd | 🟡 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| msync | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| multiplexer | 🟡 | ppc64le | +| munlock | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| munlockall | 🟢 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| munmap | 🟢 | ppc64le,riscv64,x86_64,aarch64,s390x | +| name_to_handle_at | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| nanosleep | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| newfstatat | 🟡 | riscv64,x86_64,aarch64,s390x,ppc64le | +| nice | 🟡 | s390x,ppc64le | +| oldfstat | 🟡 | ppc64le | +| oldlstat | 🟡 | ppc64le | +| oldolduname | 🟡 | ppc64le | +| oldstat | 🟡 | ppc64le | +| olduname | 🟡 | ppc64le | +| open | 🟢 | x86_64,s390x,ppc64le | +| open_by_handle_at | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| open_tree | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| openat | 🟢 | riscv64,x86_64,aarch64,s390x,ppc64le | +| openat2 | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| pause | 🟡 | x86_64,s390x,ppc64le | +| pciconfig_iobase | 🟡 | ppc64le | +| pciconfig_read | 🟡 | ppc64le | +| pciconfig_write | 🟡 | ppc64le | +| perf_event_open | 🟡 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| personality | 🟡 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| pidfd_getfd | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| pidfd_open | 🟢 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| pidfd_send_signal | 🟡 | riscv64,x86_64,aarch64,s390x,ppc64le | +| pipe | 🟢 | x86_64,s390x,ppc64le | +| pipe2 | 🟢 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| pivot_root | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| pkey_alloc | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| pkey_free | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| pkey_mprotect | 🟡 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| poll | 🟢 | x86_64,s390x,ppc64le | +| ppoll | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| prctl | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| pread64 | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| preadv | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| preadv2 | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| prlimit64 | 🟢 | ppc64le,riscv64,x86_64,aarch64,s390x | +| process_madvise | 🟡 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| process_mrelease | 🟡 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| process_vm_readv | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| process_vm_writev | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| pselect6 | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| ptrace | 🟢 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| pwrite64 | 🟢 | ppc64le,riscv64,x86_64,aarch64,s390x | +| pwritev | 🟢 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| pwritev2 | 🟡 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| quotactl | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| quotactl_fd | 🟡 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| read | 🟢 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| readahead | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| readdir | 🟡 | s390x,ppc64le | +| readlink | 🟡 | x86_64,s390x,ppc64le | +| readlinkat | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| readv | 🟢 | ppc64le,riscv64,x86_64,aarch64,s390x | +| reboot | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| recv | 🟢 | ppc64le | +| recvfrom | 🟢 | riscv64,x86_64,aarch64,s390x,ppc64le | +| recvmmsg | 🟢 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| recvmsg | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| remap_file_pages | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| removexattr | 🟡 | riscv64,x86_64,aarch64,s390x,ppc64le | +| rename | 🟢 | ppc64le,x86_64,s390x | +| renameat | 🟢 | ppc64le,x86_64,aarch64,s390x | +| renameat2 | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| request_key | 🟡 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| restart_syscall | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| riscv_flush_icache | 🟡 | riscv64 | +| riscv_hwprobe | 🟡 | riscv64 | +| rmdir | 🟢 | s390x,ppc64le,x86_64 | +| rseq | 🟡 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| rt_sigaction | 🟡 | riscv64,x86_64,aarch64,s390x,ppc64le | +| rt_sigpending | 🟡 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| rt_sigprocmask | 🟡 | ppc64le,riscv64,x86_64,aarch64,s390x | +| rt_sigqueueinfo | 🟡 | riscv64,x86_64,aarch64,s390x,ppc64le | +| rt_sigreturn | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| rt_sigsuspend | 🟡 | ppc64le,riscv64,x86_64,aarch64,s390x | +| rt_sigtimedwait | 🟡 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| rt_tgsigqueueinfo | 🟡 | ppc64le,riscv64,x86_64,aarch64,s390x | +| 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 | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| sched_get_priority_min | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| sched_getaffinity | 🟡 | ppc64le,riscv64,x86_64,aarch64,s390x | +| sched_getattr | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| sched_getparam | 🟡 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| sched_getscheduler | 🟡 | ppc64le,riscv64,x86_64,aarch64,s390x | +| sched_rr_get_interval | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| sched_setaffinity | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| sched_setattr | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| sched_setparam | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| sched_setscheduler | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| sched_yield | 🟡 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| seccomp | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| select | 🟢 | ppc64le,x86_64,s390x | +| semctl | 🟢 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| semget | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| semop | 🟢 | riscv64,x86_64,aarch64 | +| semtimedop | 🟡 | ppc64le,riscv64,x86_64,aarch64,s390x | +| send | 🟢 | ppc64le | +| sendfile | 🟢 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| sendmmsg | 🟢 | ppc64le,riscv64,x86_64,aarch64,s390x | +| sendmsg | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| sendto | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| set_mempolicy | 🟡 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| set_mempolicy_home_node | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| set_robust_list | 🟡 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| set_thread_area | 🟡 | x86_64 | +| set_tid_address | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| setdomainname | 🟡 | ppc64le,riscv64,x86_64,aarch64,s390x | +| setfsgid | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| setfsuid | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| setgid | 🟢 | riscv64,x86_64,aarch64,s390x,ppc64le | +| setgroups | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| sethostname | 🟡 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| setitimer | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| setns | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| setpgid | 🟢 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| setpriority | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| setregid | 🟡 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| setresgid | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| setresuid | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| setreuid | 🟡 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| setrlimit | 🟢 | riscv64,x86_64,aarch64,s390x,ppc64le | +| setsid | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| setsockopt | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| settimeofday | 🟡 | ppc64le,riscv64,x86_64,aarch64,s390x | +| setuid | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| setxattr | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| sgetmask | 🟡 | ppc64le | +| shmat | 🟡 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| shmctl | 🟡 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| shmdt | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| shmget | 🟡 | ppc64le,riscv64,x86_64,aarch64,s390x | +| shutdown | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| sigaction | 🟡 | s390x,ppc64le | +| sigaltstack | 🟡 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| signal | 🟡 | s390x,ppc64le | +| signalfd | 🟢 | ppc64le,x86_64,s390x | +| signalfd4 | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| sigpending | 🟡 | s390x,ppc64le | +| sigprocmask | 🟡 | s390x,ppc64le | +| sigreturn | 🟡 | s390x,ppc64le | +| sigsuspend | 🟡 | s390x,ppc64le | +| socket | 🟢 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| socketcall | 🟡 | s390x,ppc64le | +| socketpair | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| splice | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| spu_create | 🟡 | ppc64le | +| spu_run | 🟡 | ppc64le | +| ssetmask | 🟡 | ppc64le | +| stat | 🟢 | x86_64,s390x,ppc64le | +| statfs | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| statfs64 | 🟡 | ppc64le,s390x | +| statx | 🟡 | riscv64,x86_64,aarch64,s390x,ppc64le | +| stime | 🟡 | ppc64le | +| subpage_prot | 🟡 | ppc64le | +| swapcontext | 🟡 | ppc64le | +| swapoff | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| swapon | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| switch_endian | 🟡 | ppc64le | +| symlink | 🟢 | s390x,ppc64le,x86_64 | +| symlinkat | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| sync | 🟡 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| sync_file_range | 🟡 | x86_64,aarch64,s390x,riscv64 | +| sync_file_range2 | 🟡 | ppc64le | +| syncfs | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| sys_debug_setcontext | 🟡 | ppc64le | +| sysfs | 🟡 | x86_64,s390x,ppc64le | +| sysinfo | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| syslog | 🟡 | ppc64le,riscv64,x86_64,aarch64,s390x | +| tee | 🟡 | riscv64,x86_64,aarch64,s390x,ppc64le | +| tgkill | 🟢 | ppc64le,riscv64,x86_64,aarch64,s390x | +| time | 🟡 | x86_64,ppc64le | +| timer_create | 🟡 | ppc64le,riscv64,x86_64,aarch64,s390x | +| timer_delete | 🟡 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| timer_getoverrun | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| timer_gettime | 🟡 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| timer_settime | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| timerfd | 🟡 | s390x | +| timerfd_create | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| timerfd_gettime | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| timerfd_settime | 🟡 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| times | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| tkill | 🟢 | riscv64,x86_64,aarch64,s390x,ppc64le | +| truncate | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| ugetrlimit | 🟢 | ppc64le | +| umask | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| umount | 🟢 | s390x,ppc64le | +| umount2 | 🟢 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| uname | 🟡 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| unlink | 🟢 | x86_64,s390x,ppc64le | +| unlinkat | 🟢 | s390x,ppc64le,riscv64,x86_64,aarch64 | +| unshare | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| userfaultfd | 🟢 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| ustat | 🟡 | x86_64,s390x,ppc64le | +| utime | 🟡 | x86_64,s390x,ppc64le | +| utimensat | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| utimes | 🟡 | ppc64le,x86_64,s390x | +| vfork | 🟢 | x86_64,s390x,ppc64le | +| vhangup | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| vm86 | 🟡 | ppc64le | +| vmsplice | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| wait4 | 🟡 | ppc64le,riscv64,x86_64,aarch64,s390x | +| waitid | 🟡 | x86_64,aarch64,s390x,ppc64le,riscv64 | +| waitpid | 🟡 | ppc64le | +| write | 🟢 | aarch64,s390x,ppc64le,riscv64,x86_64 | +| writev | 🟢 | x86_64,aarch64,s390x,ppc64le,riscv64 | diff --git a/driver/SCHEMA_VERSION b/driver/SCHEMA_VERSION index ccc99d02144..56beced9a13 100644 --- a/driver/SCHEMA_VERSION +++ b/driver/SCHEMA_VERSION @@ -1 +1 @@ -2.12.3 +2.12.4 diff --git a/driver/ppm_events_public.h b/driver/ppm_events_public.h index 75bd90a4fa6..49dda96eb69 100644 --- a/driver/ppm_events_public.h +++ b/driver/ppm_events_public.h @@ -1875,7 +1875,24 @@ enum extra_event_prog_code PPM_SC_X(RISCV_HWPROBE, 416) \ PPM_SC_X(FUTEX_WAKE, 417) \ PPM_SC_X(FUTEX_REQUEUE, 418) \ - PPM_SC_X(FUTEX_WAIT, 419) + PPM_SC_X(FUTEX_WAIT, 419) \ + PPM_SC_X(OLDSTAT, 420) \ + PPM_SC_X(SWITCH_ENDIAN, 421) \ + PPM_SC_X(MULTIPLEXER, 422) \ + PPM_SC_X(OLDLSTAT, 423) \ + PPM_SC_X(SPU_CREATE, 424) \ + PPM_SC_X(SYNC_FILE_RANGE2, 425) \ + PPM_SC_X(OLDFSTAT, 426) \ + PPM_SC_X(SPU_RUN, 427) \ + PPM_SC_X(SWAPCONTEXT, 428) \ + PPM_SC_X(PCICONFIG_WRITE, 429) \ + PPM_SC_X(RTAS, 430) \ + PPM_SC_X(PCICONFIG_READ, 431) \ + PPM_SC_X(SYS_DEBUG_SETCONTEXT, 432) \ + PPM_SC_X(VM86, 433) \ + PPM_SC_X(OLDOLDUNAME, 434) \ + PPM_SC_X(SUBPAGE_PROT, 435) \ + PPM_SC_X(PCICONFIG_IOBASE, 436) 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 4e75a874817..1726f5988fd 100644 --- a/driver/syscall_compat_aarch64.h +++ b/driver/syscall_compat_aarch64.h @@ -140,9 +140,6 @@ or GPL2.txt for full copies of the license. #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 diff --git a/driver/syscall_compat_ppc64le.h b/driver/syscall_compat_ppc64le.h new file mode 100644 index 00000000000..ec37eeed9f0 --- /dev/null +++ b/driver/syscall_compat_ppc64le.h @@ -0,0 +1,1180 @@ +// 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 diff --git a/driver/syscall_compat_riscv64.h b/driver/syscall_compat_riscv64.h index de8478d147c..93a04479fa6 100644 --- a/driver/syscall_compat_riscv64.h +++ b/driver/syscall_compat_riscv64.h @@ -137,9 +137,6 @@ or GPL2.txt for full copies of the license. #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 diff --git a/driver/syscall_compat_s390x.h b/driver/syscall_compat_s390x.h index 9fb0a6ae643..a9de9482327 100644 --- a/driver/syscall_compat_s390x.h +++ b/driver/syscall_compat_s390x.h @@ -182,9 +182,6 @@ or GPL2.txt for full copies of the license. #ifndef __NR_readlink #define __NR_readlink 85 #endif -#ifndef __NR_uselib -#define __NR_uselib 86 -#endif #ifndef __NR_swapon #define __NR_swapon 87 #endif @@ -248,9 +245,6 @@ or GPL2.txt for full copies of the license. #ifndef __NR_vhangup #define __NR_vhangup 111 #endif -#ifndef __NR_idle -#define __NR_idle 112 -#endif #ifndef __NR_wait4 #define __NR_wait4 114 #endif @@ -287,18 +281,12 @@ or GPL2.txt for full copies of the license. #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 @@ -308,9 +296,6 @@ or GPL2.txt for full copies of the license. #ifndef __NR_fchdir #define __NR_fchdir 133 #endif -#ifndef __NR_bdflush -#define __NR_bdflush 134 -#endif #ifndef __NR_sysfs #define __NR_sysfs 135 #endif @@ -341,9 +326,6 @@ or GPL2.txt for full copies of the license. #ifndef __NR_fdatasync #define __NR_fdatasync 148 #endif -#ifndef __NR__sysctl -#define __NR__sysctl 149 -#endif #ifndef __NR_mlock #define __NR_mlock 150 #endif @@ -386,15 +368,9 @@ or GPL2.txt for full copies of the license. #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 @@ -440,9 +416,6 @@ or GPL2.txt for full copies of the license. #ifndef __NR_sendfile #define __NR_sendfile 187 #endif -#ifndef __NR_getpmsg -#define __NR_getpmsg 188 -#endif #ifndef __NR_vfork #define __NR_vfork 190 #endif diff --git a/driver/syscall_compat_x86_64.h b/driver/syscall_compat_x86_64.h index ec91fe21545..9bbe91e8e19 100644 --- a/driver/syscall_compat_x86_64.h +++ b/driver/syscall_compat_x86_64.h @@ -416,9 +416,6 @@ or GPL2.txt for full copies of the license. #ifndef __NR_mknod #define __NR_mknod 133 #endif -#ifndef __NR_uselib -#define __NR_uselib 134 -#endif #ifndef __NR_personality #define __NR_personality 135 #endif @@ -482,9 +479,6 @@ or GPL2.txt for full copies of the license. #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 @@ -536,30 +530,15 @@ or GPL2.txt for full copies of the license. #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 diff --git a/driver/syscall_ia32_64_map.c b/driver/syscall_ia32_64_map.c index 068cd1f8266..c1c2a413af2 100644 --- a/driver/syscall_ia32_64_map.c +++ b/driver/syscall_ia32_64_map.c @@ -23,438 +23,429 @@ or GPL2.txt for full copies of the license. * we use the compatible x86_64 syscall, eg: mmap2 -> mmap. */ const int g_ia32_64_map[SYSCALL_TABLE_SIZE] = { - [301] = 263, - [78] = 96, + [143] = 73, + [71] = 114, + [88] = 169, + [0] = 219, + [344] = 306, + [382] = 331, + [184] = 125, + [320] = 280, + [214] = 106, // NOTE: syscall setgid32 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [106] = 4, + [22] = 166, // NOTE: syscall umount unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [190] = 58, + [452] = 452, + [300] = -1, // ia32 only: fstatat64 [290] = 252, - [453] = 453, - [26] = 101, - [174] = 13, + [168] = 7, + [379] = 328, + [54] = 16, + [139] = 123, + [226] = 188, + [28] = -1, // ia32 only: oldfstat + [18] = -1, // ia32 only: oldstat + [155] = 143, + [436] = 436, + [356] = 319, + [152] = 151, + [254] = 213, + [128] = 175, [434] = 434, - [382] = 331, - [145] = 19, - [287] = 249, - [4] = 1, - [107] = 6, - [0] = 219, - [140] = 8, // NOTE: syscall _llseek unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. - [407] = -1, // ia32 only: clock_nanosleep_time64 - [339] = 301, - [211] = 120, // NOTE: syscall getresgid32 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [101] = 173, + [83] = 88, + [364] = 288, + [414] = -1, // ia32 only: ppoll_time64 + [319] = 281, + [236] = 198, + [394] = 66, + [400] = 69, + [408] = -1, // ia32 only: timer_gettime64 + [286] = 248, + [275] = 239, + [445] = 445, + [397] = 30, + [299] = 261, + [235] = 197, + [206] = -1, // ia32 only: setgroups32 + [26] = 101, + [173] = 15, [245] = 206, - [33] = 21, - [432] = 432, - [49] = 107, - [196] = 6, // NOTE: syscall lstat64 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. - [92] = 76, - [155] = 143, - [359] = 41, - [207] = -1, // ia32 only: fchown32 - [77] = 98, - [289] = 251, - [18] = -1, // ia32 only: oldstat - [353] = 316, - [1] = 60, - [39] = 83, - [12] = 80, - [136] = 135, - [226] = 188, - [321] = 282, - [190] = 58, + [282] = 245, + [354] = 317, + [62] = 136, + [4] = 1, + [233] = 195, + [278] = 241, + [225] = 187, [302] = 264, - [13] = 201, - [406] = -1, // ia32 only: clock_getres_time64 - [2] = 57, - [283] = 246, - [429] = 429, - [347] = 310, - [436] = 436, - [118] = 74, - [160] = 147, - [320] = 280, - [342] = 304, - [437] = 437, - [36] = 162, - [133] = 81, - [112] = -1, // ia32 only: idle - [241] = 203, - [124] = 159, - [143] = 73, - [454] = 454, - [195] = 4, // NOTE: syscall stat64 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. - [267] = 230, - [435] = 435, - [456] = 456, - [291] = 253, - [411] = -1, // ia32 only: timerfd_settime64 - [269] = -1, // ia32 only: fstatfs64 - [105] = 36, - [258] = 218, - [441] = 441, + [216] = -1, // ia32 only: setfsgid32 + [43] = 100, + [312] = 274, + [402] = 71, + [159] = 146, + [346] = 308, + [9] = 86, + [119] = -1, // ia32 only: sigreturn + [324] = 285, + [234] = 196, + [378] = 327, [200] = 104, // NOTE: syscall getgid32 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. - [233] = 195, - [24] = 102, - [23] = 105, - [149] = 156, - [405] = -1, // ia32 only: clock_adjtime64 - [430] = 430, - [314] = 277, - [250] = 221, - [292] = 254, - [274] = 237, - [162] = 35, - [330] = 292, - [94] = 91, - [115] = 168, + [341] = 303, + [84] = -1, // ia32 only: oldlstat + [337] = 299, [374] = 323, - [171] = 120, - [165] = 118, - [317] = 279, - [418] = -1, // ia32 only: mq_timedsend_time64 - [139] = 123, - [319] = 281, - [225] = 187, - [282] = 245, - [381] = 330, - [206] = -1, // ia32 only: setgroups32 - [248] = 209, - [357] = 321, - [247] = 208, - [111] = 153, - [344] = 306, - [266] = 229, - [367] = 51, - [150] = 149, - [66] = 112, - [69] = -1, // ia32 only: ssetmask - [272] = -1, // ia32 only: fadvise64_64 - [205] = -1, // ia32 only: getgroups32 - [42] = 22, - [362] = 42, + [271] = 235, + [330] = 292, + [204] = -1, // ia32 only: setregid32 + [373] = 48, + [227] = 189, + [347] = 310, + [352] = 315, + [74] = 170, + [183] = 79, [65] = 111, - [336] = 298, - [228] = 190, + [11] = 59, [93] = 77, - [30] = 132, - [275] = 239, - [446] = 446, - [5] = 2, - [70] = 113, - [377] = 326, - [306] = 268, - [433] = 433, - [14] = 133, - [170] = 119, - [125] = 10, - [373] = 48, - [238] = 200, - [45] = 12, - [15] = 90, - [41] = 32, - [365] = 55, - [401] = 70, - [73] = -1, // ia32 only: sigpending - [452] = 452, - [110] = 172, - [296] = 258, - [327] = 289, - [237] = 199, - [455] = 455, - [380] = 329, - [335] = 297, - [25] = -1, // ia32 only: stime - [313] = 275, - [322] = 283, - [130] = 177, - [84] = -1, // ia32 only: oldlstat - [173] = 15, - [204] = -1, // ia32 only: setregid32 + [274] = 237, [398] = 67, - [185] = 126, - [294] = 256, - [177] = 128, - [439] = 439, - [253] = 212, - [22] = 166, // NOTE: syscall umount unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. - [146] = 20, + [114] = 61, + [332] = 294, + [170] = 119, + [27] = 37, + [303] = 265, + [336] = 298, + [92] = 76, + [7] = -1, // ia32 only: waitpid + [8] = 85, + [453] = 453, + [393] = 64, + [270] = 234, + [412] = -1, // ia32 only: utimensat_time64 + [107] = 6, + [345] = 307, + [395] = 29, + [194] = -1, // ia32 only: ftruncate64 + [202] = 108, // NOTE: syscall getegid32 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [37] = 62, + [263] = 226, + [140] = 8, // NOTE: syscall _llseek unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [47] = 104, + [171] = 120, + [349] = 312, + [68] = -1, // ia32 only: sgetmask + [360] = 53, + [437] = 437, + [156] = 144, + [187] = 40, + [210] = 119, // NOTE: syscall setresgid32 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [422] = -1, // ia32 only: futex_time64 + [449] = 449, + [355] = 318, + [340] = 302, + [240] = 202, + [249] = 210, + [342] = 304, + [418] = -1, // ia32 only: mq_timedsend_time64 + [351] = 314, + [102] = -1, // ia32 only: socketcall + [317] = 279, + [38] = 82, + [30] = 132, + [292] = 254, + [138] = 122, + [410] = -1, // ia32 only: timerfd_gettime64 + [269] = -1, // ia32 only: fstatfs64 + [454] = 454, + [399] = 68, + [160] = 147, + [116] = 99, + [13] = 201, + [33] = 21, + [244] = 211, + [438] = 438, + [61] = 161, + [439] = 439, + [304] = 266, + [85] = 89, + [265] = 228, + [339] = 301, + [197] = 5, // NOTE: syscall fstat64 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [218] = 27, + [164] = 117, + [383] = 332, + [262] = 225, + [3] = 0, + [277] = 240, + [41] = 32, + [118] = 74, + [456] = 456, + [230] = 192, + [108] = 5, + [196] = 6, // NOTE: syscall lstat64 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [162] = 35, + [250] = 221, + [427] = 427, + [191] = 97, // NOTE: syscall ugetrlimit unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [231] = 193, + [297] = 259, [151] = 150, - [157] = 145, - [158] = 24, - [121] = 171, - [300] = -1, // ia32 only: fstatat64 - [428] = 428, + [203] = -1, // ia32 only: setreuid32 + [67] = -1, // ia32 only: sigaction + [367] = 51, + [42] = 22, + [40] = 84, + [239] = 40, // NOTE: syscall sendfile64 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [81] = 116, + [211] = 120, // NOTE: syscall getresgid32 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [424] = 424, + [380] = 329, [215] = -1, // ia32 only: setfsuid32 + [326] = 287, + [451] = 451, + [50] = 108, + [147] = 124, + [385] = 333, + [238] = 200, + [224] = 186, + [78] = 96, + [440] = 440, + [57] = 109, + [403] = -1, // ia32 only: clock_gettime64 + [426] = 426, + [446] = 446, + [150] = 149, + [145] = 19, + [95] = 93, + [425] = 425, + [417] = -1, // ia32 only: recvmmsg_time64 + [60] = 95, [72] = -1, // ia32 only: sigsuspend - [54] = 16, - [400] = 69, - [378] = 327, - [161] = 148, - [187] = 40, - [109] = -1, // ia32 only: olduname - [331] = 293, - [340] = 302, - [179] = 130, - [127] = 174, - [323] = 284, - [80] = 115, - [249] = 210, + [314] = 277, + [182] = 92, + [313] = 275, + [327] = 289, + [55] = 72, + [2] = 57, + [353] = 316, + [45] = 12, + [174] = 13, + [6] = 3, + [318] = 309, + [381] = 330, + [396] = 31, + [325] = 286, + [406] = -1, // ia32 only: clock_getres_time64 + [404] = -1, // ia32 only: clock_settime64 + [246] = 207, + [363] = 50, [419] = -1, // ia32 only: mq_timedreceive_time64 - [76] = 97, - [305] = 267, - [113] = -1, // ia32 only: vm86old - [198] = -1, // ia32 only: lchown32 - [414] = -1, // ia32 only: ppoll_time64 - [278] = 241, - [194] = -1, // ia32 only: ftruncate64 - [445] = 445, - [46] = 106, - [97] = 141, - [304] = 266, - [234] = 196, - [75] = 160, - [242] = 204, - [126] = -1, // ia32 only: sigprocmask - [279] = 242, - [89] = -1, // ia32 only: readdir - [103] = 103, + [298] = 260, + [135] = 139, + [131] = 179, + [100] = 138, + [205] = -1, // ia32 only: getgroups32 + [368] = 52, + [123] = 154, + [146] = 20, + [343] = 305, [329] = 291, - [355] = 318, - [447] = 447, - [144] = 26, - [443] = 443, - [315] = 276, + [306] = 268, + [77] = 98, + [232] = 194, + [323] = 284, + [21] = 165, + [178] = 129, [261] = 224, - [50] = 108, - [209] = 118, // NOTE: syscall getresuid32 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. - [332] = 294, - [117] = -1, // ia32 only: ipc - [82] = 23, + [212] = -1, // ia32 only: chown32 [255] = 233, - [426] = 426, - [154] = 142, - [104] = 38, - [7] = -1, // ia32 only: waitpid - [358] = 322, - [427] = 427, + [76] = 97, + [199] = 102, // NOTE: syscall getuid32 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [291] = 253, + [372] = 47, + [111] = 153, + [259] = 222, + [357] = 321, + [362] = 42, + [288] = 250, + [48] = -1, // ia32 only: signal + [266] = 229, + [94] = 91, + [96] = 140, + [258] = 218, + [129] = 176, [221] = 72, // NOTE: syscall fcntl64 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. - [169] = 180, - [172] = 157, - [38] = 82, - [449] = 449, - [326] = 287, - [236] = 198, - [214] = 106, // NOTE: syscall setgid32 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. - [67] = -1, // ia32 only: sigaction - [231] = 193, - [202] = 108, // NOTE: syscall getegid32 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [80] = 115, + [295] = 257, + [260] = 223, + [132] = 121, + [39] = 83, + [401] = 70, + [34] = -1, // ia32 only: nice + [311] = 273, + [49] = 107, + [20] = 39, + [289] = 251, + [279] = 242, + [103] = 103, + [358] = 322, + [115] = 168, + [201] = 107, // NOTE: syscall geteuid32 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. [257] = 216, - [57] = 109, - [101] = 173, - [167] = 178, - [239] = 40, // NOTE: syscall sendfile64 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. - [43] = 100, - [288] = 250, - [354] = 317, - [276] = 238, - [364] = 288, + [52] = 166, + [161] = 148, + [126] = -1, // ia32 only: sigprocmask + [322] = 283, + [365] = 55, + [175] = 14, + [10] = 87, + [89] = -1, // ia32 only: readdir + [242] = 204, + [413] = -1, // ia32 only: pselect6_time64 + [15] = 90, + [350] = 313, [308] = 270, - [417] = -1, // ia32 only: recvmmsg_time64 - [450] = 450, - [338] = 300, - [369] = 44, - [182] = 92, - [131] = 179, - [423] = -1, // ia32 only: sched_rr_get_interval_time64 + [157] = 145, + [19] = 8, [186] = 131, - [119] = -1, // ia32 only: sigreturn - [217] = 155, - [383] = 332, - [141] = 78, - [442] = 442, - [164] = 117, - [106] = 4, - [74] = 170, - [416] = -1, // ia32 only: io_pgetevents_time64 - [230] = 192, - [83] = 88, + [121] = 171, + [99] = 137, + [198] = -1, // ia32 only: lchown32 + [428] = 428, + [450] = 450, [243] = 205, - [48] = -1, // ia32 only: signal - [408] = -1, // ia32 only: timer_gettime64 - [197] = 5, // NOTE: syscall fstat64 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. - [318] = 309, - [218] = 27, - [333] = 295, - [413] = -1, // ia32 only: pselect6_time64 - [395] = 29, - [59] = -1, // ia32 only: oldolduname - [3] = 0, - [366] = 54, - [108] = 5, - [372] = 47, - [396] = 31, - [181] = 18, - [178] = 129, - [20] = 39, - [410] = -1, // ia32 only: timerfd_gettime64 - [271] = 235, - [343] = 305, - [299] = 261, + [407] = -1, // ia32 only: clock_nanosleep_time64 + [293] = 255, + [281] = 244, + [305] = 267, + [253] = 212, + [442] = 442, + [166] = -1, // ia32 only: vm86 + [69] = -1, // ia32 only: ssetmask + [1] = 60, + [338] = 300, + [148] = 75, + [153] = 152, [176] = 127, - [311] = 273, - [208] = 117, // NOTE: syscall setresuid32 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. - [363] = 50, - [263] = 226, - [325] = 286, - [448] = 448, - [252] = 231, - [303] = 265, - [309] = 271, - [393] = 64, + [369] = 44, + [12] = 80, + [433] = 433, + [105] = 36, + [405] = -1, // ia32 only: clock_adjtime64 + [264] = 227, [219] = 28, - [85] = 89, - [324] = 285, - [100] = 138, - [422] = -1, // ia32 only: futex_time64 - [210] = 119, // NOTE: syscall setresgid32 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. - [403] = -1, // ia32 only: clock_gettime64 - [52] = 166, - [175] = 14, - [159] = 146, - [213] = 105, // NOTE: syscall setuid32 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. - [120] = 56, - [350] = 313, + [109] = -1, // ia32 only: olduname + [287] = 249, + [333] = 295, + [421] = -1, // ia32 only: rt_sigtimedwait_time64 + [267] = 230, + [283] = 246, [376] = 325, + [125] = 10, + [136] = 135, + [229] = 191, + [177] = 128, + [359] = 41, + [272] = -1, // ia32 only: fadvise64_64 + [429] = 429, + [423] = -1, // ia32 only: sched_rr_get_interval_time64 + [185] = 126, + [207] = -1, // ia32 only: fchown32 + [209] = 118, // NOTE: syscall getresuid32 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. - [438] = 438, - [397] = 30, - [260] = 223, - [337] = 299, - [184] = 125, - [61] = 161, - [256] = 232, - [244] = 211, - [9] = 86, - [71] = 114, - [102] = -1, // ia32 only: socketcall - [166] = -1, // ia32 only: vm86 - [212] = -1, // ia32 only: chown32 - [34] = -1, // ia32 only: nice - [203] = -1, // ia32 only: setreuid32 - [63] = 33, - [240] = 202, - [90] = 9, - [352] = 315, - [420] = -1, // ia32 only: semtimedop_time64 + [163] = 25, + [165] = 118, + [59] = -1, // ia32 only: oldolduname + [133] = 81, + [432] = 432, + [154] = 142, + [321] = 282, + [361] = 49, + [141] = 78, + [416] = -1, // ia32 only: io_pgetevents_time64 + [87] = 167, + [113] = -1, // ia32 only: vm86old + [248] = 209, + [294] = 256, + [430] = 430, + [23] = 105, + [441] = 441, + [237] = 199, + [411] = -1, // ia32 only: timerfd_settime64 + [310] = 272, + [120] = 56, [328] = 290, - [128] = 175, - [371] = 45, - [351] = 314, - [81] = 116, - [132] = 121, - [64] = 110, - [444] = 444, - [421] = -1, // ia32 only: rt_sigtimedwait_time64 - [334] = 296, - [386] = 334, - [307] = 269, - [298] = 260, - [297] = 259, - [399] = 68, + [447] = 447, + [335] = 297, + [370] = 46, + [309] = 271, + [448] = 448, + [375] = 324, + [97] = 141, + [70] = 113, + [122] = 63, + [252] = 231, + [110] = 172, + [117] = -1, // ia32 only: ipc + [75] = 160, [91] = 11, - [286] = 248, - [47] = 104, - [19] = 8, - [21] = 165, - [156] = 144, - [134] = -1, // ia32 only: bdflush - [147] = 124, - [310] = 272, + [5] = 2, [384] = 158, - [379] = 328, - [40] = 84, - [360] = 53, - [412] = -1, // ia32 only: utimensat_time64 - [163] = 25, - [316] = 278, - [183] = 79, - [425] = 425, - [153] = 152, - [394] = 66, - [312] = 274, - [86] = 134, - [220] = 217, - [246] = 207, - [280] = 243, - [193] = -1, // ia32 only: truncate64 - [349] = 312, - [29] = 34, - [60] = 95, - [281] = 244, - [6] = 3, - [229] = 191, - [142] = -1, // ia32 only: _newselect - [148] = 75, - [135] = 139, - [409] = -1, // ia32 only: timer_settime64 - [122] = 63, - [254] = 213, - [199] = 102, // NOTE: syscall getuid32 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. - [123] = 154, - [277] = 240, - [27] = 37, - [270] = 234, - [191] = 97, // NOTE: syscall ugetrlimit unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. - [37] = 62, - [79] = 164, + [348] = 311, + [46] = 106, + [228] = 190, + [455] = 455, + [296] = 258, + [158] = 24, + [208] = 117, // NOTE: syscall setresuid32 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [124] = 159, + [435] = 435, + [444] = 444, + [104] = 38, + [16] = 94, + [241] = 203, + [377] = 326, + [180] = 17, + [443] = 443, + [14] = 133, + [82] = 23, + [366] = 54, [284] = 247, + [307] = 269, [431] = 431, - [293] = 255, - [152] = 151, - [28] = -1, // ia32 only: oldfstat - [10] = 87, - [265] = 228, - [129] = 176, - [55] = 72, - [375] = 324, - [180] = 17, + [90] = 9, + [181] = 18, + [36] = 162, + [217] = 155, + [172] = 157, + [334] = 296, + [420] = -1, // ia32 only: semtimedop_time64 + [25] = -1, // ia32 only: stime + [73] = -1, // ia32 only: sigpending + [142] = -1, // ia32 only: _newselect + [63] = 33, + [64] = 110, + [179] = 130, + [280] = 243, + [29] = 34, + [371] = 45, [51] = 163, - [404] = -1, // ia32 only: clock_settime64 - [95] = 93, - [402] = 71, - [361] = 49, - [385] = 333, - [451] = 451, - [232] = 194, - [440] = 440, - [68] = -1, // ia32 only: sgetmask - [62] = 136, - [341] = 303, - [346] = 308, - [188] = 181, - [424] = 424, - [368] = 52, - [224] = 186, - [227] = 189, - [168] = 7, - [235] = 197, - [345] = 307, - [262] = 225, - [11] = 59, - [370] = 46, - [259] = 222, - [8] = 85, - [348] = 311, - [138] = 122, - [99] = 137, + [256] = 232, + [331] = 293, + [315] = 276, + [24] = 102, + [386] = 334, + [79] = 164, + [301] = 263, + [220] = 217, + [144] = 26, + [213] = 105, // NOTE: syscall setuid32 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [409] = -1, // ia32 only: timer_settime64 + [193] = -1, // ia32 only: truncate64 + [247] = 208, + [66] = 112, [268] = -1, // ia32 only: statfs64 - [96] = 140, - [295] = 257, - [114] = 61, - [264] = 227, - [87] = 167, - [16] = 94, - [88] = 169, - [201] = 107, // NOTE: syscall geteuid32 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. - [356] = 319, - [216] = -1, // ia32 only: setfsgid32 - [116] = 99, + [276] = 238, + [195] = 4, // NOTE: syscall stat64 unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [316] = 278, }; diff --git a/driver/syscall_table.c b/driver/syscall_table.c index eef0dafa502..7180ee293e3 100644 --- a/driver/syscall_table.c +++ b/driver/syscall_table.c @@ -937,4 +937,55 @@ const struct syscall_evt_pair g_syscall_table[SYSCALL_TABLE_SIZE] = { #ifdef __NR_futex_wait [__NR_futex_wait - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_FUTEX_WAIT}, #endif +#ifdef __NR_rtas + [__NR_rtas - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_RTAS}, +#endif +#ifdef __NR_subpage_prot + [__NR_subpage_prot - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_SUBPAGE_PROT}, +#endif +#ifdef __NR_sync_file_range2 + [__NR_sync_file_range2 - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_SYNC_FILE_RANGE2}, +#endif +#ifdef __NR_sys_debug_setcontext + [__NR_sys_debug_setcontext - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_SYS_DEBUG_SETCONTEXT}, +#endif +#ifdef __NR_vm86 + [__NR_vm86 - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_VM86}, +#endif +#ifdef __NR_oldstat + [__NR_oldstat - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_OLDSTAT}, +#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_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_oldlstat + [__NR_oldlstat - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_OLDLSTAT}, +#endif +#ifdef __NR_oldolduname + [__NR_oldolduname - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_OLDOLDUNAME}, +#endif +#ifdef __NR_spu_create + [__NR_spu_create - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_SPU_CREATE}, +#endif +#ifdef __NR_pciconfig_read + [__NR_pciconfig_read - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_PCICONFIG_READ}, +#endif +#ifdef __NR_oldfstat + [__NR_oldfstat - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_OLDFSTAT}, +#endif +#ifdef __NR_swapcontext + [__NR_swapcontext - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_SWAPCONTEXT}, +#endif +#ifdef __NR_pciconfig_write + [__NR_pciconfig_write - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_PCICONFIG_WRITE}, +#endif }; diff --git a/driver/syscall_table64.c b/driver/syscall_table64.c index c5409523992..b8b6a1b01ed 100644 --- a/driver/syscall_table64.c +++ b/driver/syscall_table64.c @@ -24,6 +24,8 @@ or GPL2.txt for full copies of the license. #include "syscall_compat_aarch64.h" #elif defined(__s390x__) #include "syscall_compat_s390x.h" +#elif defined(__powerpc__) +#include "syscall_compat_ppc64le.h" #elif defined(__riscv) #include "syscall_compat_riscv64.h" #endif /* __x86_64__ */ diff --git a/userspace/libscap/linux/scap_ppm_sc.c b/userspace/libscap/linux/scap_ppm_sc.c index c2fe97d855a..0733ce1ae0d 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_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_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_NEWFSTATAT, 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_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_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, -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_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_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_NEWFSTATAT, 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_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_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, -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_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_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_NEWFSTATAT, 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_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_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, -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_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_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_NEWFSTATAT, 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_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_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, -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},