From be8912041e1108f5c72c14952eb8a84e89d0c3c7 Mon Sep 17 00:00:00 2001 From: Federico Di Pierro Date: Fri, 13 Oct 2023 13:09:34 +0200 Subject: [PATCH] new(driver,docs): bumped syscalls with latest version of syscalls-bumper. Signed-off-by: Federico Di Pierro --- docs/report.md | 768 ++++++++++++------------- driver/SCHEMA_VERSION | 2 +- driver/ppm_events_public.h | 4 +- driver/syscall_compat_riscv64.h | 24 + driver/syscall_ia32_64_map.c | 790 +++++++++++++------------- driver/syscall_table.c | 6 + userspace/libscap/linux/scap_ppm_sc.c | 4 +- 7 files changed, 816 insertions(+), 782 deletions(-) diff --git a/docs/report.md b/docs/report.md index 19d6d2b3c9..5972a9a2bd 100644 --- a/docs/report.md +++ b/docs/report.md @@ -1,383 +1,385 @@ -| SYSCALL | SUPPORTED | -|-------------------------|-----------| -| _sysctl | 🟡 | -| accept | 🟢 | -| accept4 | 🟢 | -| access | 🟢 | -| acct | 🟡 | -| add_key | 🟡 | -| adjtimex | 🟡 | -| alarm | 🟡 | -| arch_prctl | 🟡 | -| bdflush | 🟡 | -| bind | 🟢 | -| bpf | 🟢 | -| brk | 🟢 | -| cachestat | 🟡 | -| capget | 🟡 | -| capset | 🟢 | -| chdir | 🟢 | -| chmod | 🟢 | -| chown | 🟢 | -| chroot | 🟢 | -| clock_adjtime | 🟡 | -| clock_getres | 🟡 | -| clock_gettime | 🟡 | -| clock_nanosleep | 🟡 | -| clock_settime | 🟡 | -| clone | 🟢 | -| clone3 | 🟢 | -| close | 🟢 | -| close_range | 🟡 | -| connect | 🟢 | -| copy_file_range | 🟢 | -| creat | 🟢 | -| create_module | 🟡 | -| delete_module | 🟡 | -| dup | 🟢 | -| dup2 | 🟢 | -| dup3 | 🟢 | -| epoll_create | 🟢 | -| epoll_create1 | 🟢 | -| epoll_ctl | 🟡 | -| epoll_ctl_old | 🟡 | -| epoll_pwait | 🟡 | -| epoll_pwait2 | 🟡 | -| epoll_wait | 🟢 | -| epoll_wait_old | 🟡 | -| eventfd | 🟢 | -| eventfd2 | 🟢 | -| execve | 🟢 | -| execveat | 🟢 | -| exit | 🟡 | -| exit_group | 🟡 | -| faccessat | 🟡 | -| faccessat2 | 🟡 | -| fadvise64 | 🟡 | -| fallocate | 🟡 | -| fanotify_init | 🟡 | -| fanotify_mark | 🟡 | -| fchdir | 🟢 | -| fchmod | 🟢 | -| fchmodat | 🟢 | -| fchmodat2 | 🟡 | -| fchown | 🟢 | -| fchownat | 🟢 | -| fcntl | 🟢 | -| fdatasync | 🟡 | -| fgetxattr | 🟡 | -| finit_module | 🟢 | -| flistxattr | 🟡 | -| flock | 🟢 | -| fork | 🟢 | -| fremovexattr | 🟡 | -| fsconfig | 🟢 | -| fsetxattr | 🟡 | -| fsmount | 🟡 | -| fsopen | 🟡 | -| fspick | 🟡 | -| fstat | 🟢 | -| fstatfs | 🟡 | -| fstatfs64 | 🟡 | -| fsync | 🟡 | -| ftruncate | 🟡 | -| futex | 🟢 | -| futex_waitv | 🟡 | -| futimesat | 🟡 | -| get_kernel_syms | 🟡 | -| get_mempolicy | 🟡 | -| get_robust_list | 🟡 | -| get_thread_area | 🟡 | -| getcpu | 🟡 | -| getcwd | 🟢 | -| getdents | 🟢 | -| getdents64 | 🟢 | -| getegid | 🟢 | -| geteuid | 🟢 | -| getgid | 🟢 | -| getgroups | 🟡 | -| getitimer | 🟡 | -| getpeername | 🟢 | -| getpgid | 🟡 | -| getpgrp | 🟡 | -| getpid | 🟡 | -| getpmsg | 🟡 | -| getppid | 🟡 | -| getpriority | 🟡 | -| getrandom | 🟡 | -| getresgid | 🟢 | -| getresuid | 🟢 | -| getrlimit | 🟢 | -| getrusage | 🟡 | -| getsid | 🟡 | -| getsockname | 🟢 | -| getsockopt | 🟢 | -| gettid | 🟡 | -| gettimeofday | 🟡 | -| getuid | 🟢 | -| getxattr | 🟡 | -| idle | 🟡 | -| init_module | 🟢 | -| inotify_add_watch | 🟡 | -| inotify_init | 🟢 | -| inotify_init1 | 🟢 | -| inotify_rm_watch | 🟡 | -| io_cancel | 🟡 | -| io_destroy | 🟡 | -| io_getevents | 🟡 | -| io_pgetevents | 🟡 | -| io_setup | 🟡 | -| io_submit | 🟡 | -| io_uring_enter | 🟢 | -| io_uring_register | 🟢 | -| io_uring_setup | 🟢 | -| ioctl | 🟢 | -| ioperm | 🟡 | -| iopl | 🟡 | -| ioprio_get | 🟡 | -| ioprio_set | 🟡 | -| ipc | 🟡 | -| kcmp | 🟡 | -| kexec_file_load | 🟡 | -| kexec_load | 🟡 | -| keyctl | 🟡 | -| kill | 🟢 | -| landlock_add_rule | 🟡 | -| landlock_create_ruleset | 🟡 | -| landlock_restrict_self | 🟡 | -| lchown | 🟢 | -| lgetxattr | 🟡 | -| link | 🟢 | -| linkat | 🟢 | -| listen | 🟢 | -| listxattr | 🟡 | -| llistxattr | 🟡 | -| lookup_dcookie | 🟡 | -| lremovexattr | 🟡 | -| lseek | 🟢 | -| lsetxattr | 🟡 | -| lstat | 🟢 | -| madvise | 🟡 | -| map_shadow_stack | 🟡 | -| mbind | 🟡 | -| membarrier | 🟡 | -| memfd_create | 🟢 | -| memfd_secret | 🟡 | -| migrate_pages | 🟡 | -| mincore | 🟡 | -| mkdir | 🟢 | -| mkdirat | 🟢 | -| mknod | 🟢 | -| mknodat | 🟢 | -| mlock | 🟢 | -| mlock2 | 🟢 | -| mlockall | 🟢 | -| mmap | 🟢 | -| modify_ldt | 🟡 | -| mount | 🟢 | -| mount_setattr | 🟡 | -| move_mount | 🟡 | -| move_pages | 🟡 | -| mprotect | 🟢 | -| mq_getsetattr | 🟡 | -| mq_notify | 🟡 | -| mq_open | 🟡 | -| mq_timedreceive | 🟡 | -| mq_timedsend | 🟡 | -| mq_unlink | 🟡 | -| mremap | 🟡 | -| msgctl | 🟡 | -| msgget | 🟡 | -| msgrcv | 🟡 | -| msgsnd | 🟡 | -| msync | 🟡 | -| munlock | 🟢 | -| munlockall | 🟢 | -| munmap | 🟢 | -| name_to_handle_at | 🟡 | -| nanosleep | 🟢 | -| newfstatat | 🟡 | -| nfsservctl | 🟡 | -| nice | 🟡 | -| open | 🟢 | -| open_by_handle_at | 🟢 | -| open_tree | 🟡 | -| openat | 🟢 | -| openat2 | 🟢 | -| pause | 🟡 | -| perf_event_open | 🟡 | -| personality | 🟡 | -| pidfd_getfd | 🟢 | -| pidfd_open | 🟢 | -| pidfd_send_signal | 🟡 | -| pipe | 🟢 | -| pipe2 | 🟢 | -| pivot_root | 🟡 | -| pkey_alloc | 🟡 | -| pkey_free | 🟡 | -| pkey_mprotect | 🟡 | -| poll | 🟢 | -| ppoll | 🟢 | -| prctl | 🟢 | -| pread64 | 🟢 | -| preadv | 🟢 | -| preadv2 | 🟡 | -| prlimit64 | 🟢 | -| process_madvise | 🟡 | -| process_mrelease | 🟡 | -| process_vm_readv | 🟡 | -| process_vm_writev | 🟡 | -| pselect6 | 🟡 | -| ptrace | 🟢 | -| pwrite64 | 🟢 | -| pwritev | 🟢 | -| pwritev2 | 🟡 | -| query_module | 🟡 | -| quotactl | 🟢 | -| quotactl_fd | 🟡 | -| read | 🟢 | -| readahead | 🟡 | -| readdir | 🟡 | -| readlink | 🟡 | -| readlinkat | 🟡 | -| readv | 🟢 | -| reboot | 🟡 | -| recvfrom | 🟢 | -| recvmmsg | 🟢 | -| recvmsg | 🟢 | -| remap_file_pages | 🟡 | -| removexattr | 🟡 | -| rename | 🟢 | -| renameat | 🟢 | -| renameat2 | 🟢 | -| request_key | 🟡 | -| restart_syscall | 🟡 | -| rmdir | 🟢 | -| rseq | 🟡 | -| rt_sigaction | 🟡 | -| rt_sigpending | 🟡 | -| rt_sigprocmask | 🟡 | -| rt_sigqueueinfo | 🟡 | -| rt_sigreturn | 🟡 | -| rt_sigsuspend | 🟡 | -| rt_sigtimedwait | 🟡 | -| rt_tgsigqueueinfo | 🟡 | -| s390_guarded_storage | 🟡 | -| s390_pci_mmio_read | 🟡 | -| s390_pci_mmio_write | 🟡 | -| s390_runtime_instr | 🟡 | -| s390_sthyi | 🟡 | -| sched_get_priority_max | 🟡 | -| sched_get_priority_min | 🟡 | -| sched_getaffinity | 🟡 | -| sched_getattr | 🟡 | -| sched_getparam | 🟡 | -| sched_getscheduler | 🟡 | -| sched_rr_get_interval | 🟡 | -| sched_setaffinity | 🟡 | -| sched_setattr | 🟡 | -| sched_setparam | 🟡 | -| sched_setscheduler | 🟡 | -| sched_yield | 🟡 | -| seccomp | 🟢 | -| select | 🟢 | -| semctl | 🟢 | -| semget | 🟢 | -| semop | 🟢 | -| semtimedop | 🟡 | -| sendfile | 🟢 | -| sendmmsg | 🟢 | -| sendmsg | 🟢 | -| sendto | 🟢 | -| set_mempolicy | 🟡 | -| set_mempolicy_home_node | 🟡 | -| set_robust_list | 🟡 | -| set_thread_area | 🟡 | -| set_tid_address | 🟡 | -| setdomainname | 🟡 | -| setfsgid | 🟡 | -| setfsuid | 🟡 | -| setgid | 🟢 | -| setgroups | 🟡 | -| sethostname | 🟡 | -| setitimer | 🟡 | -| setns | 🟢 | -| setpgid | 🟢 | -| setpriority | 🟡 | -| setregid | 🟡 | -| setresgid | 🟢 | -| setresuid | 🟢 | -| setreuid | 🟡 | -| setrlimit | 🟢 | -| setsid | 🟢 | -| setsockopt | 🟢 | -| settimeofday | 🟡 | -| setuid | 🟢 | -| setxattr | 🟡 | -| shmat | 🟡 | -| shmctl | 🟡 | -| shmdt | 🟡 | -| shmget | 🟡 | -| shutdown | 🟢 | -| sigaction | 🟡 | -| sigaltstack | 🟡 | -| signal | 🟡 | -| signalfd | 🟢 | -| signalfd4 | 🟢 | -| sigpending | 🟡 | -| sigprocmask | 🟡 | -| sigreturn | 🟡 | -| sigsuspend | 🟡 | -| socket | 🟢 | -| socketcall | 🟡 | -| socketpair | 🟢 | -| splice | 🟢 | -| stat | 🟢 | -| statfs | 🟡 | -| statfs64 | 🟡 | -| statx | 🟡 | -| swapoff | 🟡 | -| swapon | 🟡 | -| symlink | 🟢 | -| symlinkat | 🟢 | -| sync | 🟡 | -| sync_file_range | 🟡 | -| syncfs | 🟡 | -| sysfs | 🟡 | -| sysinfo | 🟡 | -| syslog | 🟡 | -| tee | 🟡 | -| tgkill | 🟢 | -| time | 🟡 | -| timer_create | 🟡 | -| timer_delete | 🟡 | -| timer_getoverrun | 🟡 | -| timer_gettime | 🟡 | -| timer_settime | 🟡 | -| timerfd | 🟡 | -| timerfd_create | 🟢 | -| timerfd_gettime | 🟡 | -| timerfd_settime | 🟡 | -| times | 🟡 | -| tkill | 🟢 | -| truncate | 🟡 | -| umask | 🟡 | -| umount | 🟢 | -| umount2 | 🟢 | -| uname | 🟡 | -| unlink | 🟢 | -| unlinkat | 🟢 | -| unshare | 🟢 | -| uselib | 🟡 | -| userfaultfd | 🟢 | -| ustat | 🟡 | -| utime | 🟡 | -| utimensat | 🟡 | -| utimes | 🟡 | -| vfork | 🟢 | -| vhangup | 🟡 | -| vmsplice | 🟡 | -| wait4 | 🟡 | -| waitid | 🟡 | -| write | 🟢 | -| writev | 🟢 | +| SYSCALL | SUPPORTED | ARCHITECTURE | +|-------------------------|-----------|------------------------------| +| _sysctl | 🟡 | x86_64,s390x | +| accept | 🟢 | aarch64,riscv64,x86_64 | +| accept4 | 🟢 | x86_64,aarch64,s390x,riscv64 | +| access | 🟢 | x86_64,s390x | +| acct | 🟡 | x86_64,aarch64,s390x,riscv64 | +| add_key | 🟡 | x86_64,aarch64,s390x,riscv64 | +| adjtimex | 🟡 | x86_64,aarch64,s390x,riscv64 | +| alarm | 🟡 | x86_64,s390x | +| arch_prctl | 🟡 | x86_64 | +| bdflush | 🟡 | s390x | +| bind | 🟢 | x86_64,aarch64,s390x,riscv64 | +| bpf | 🟢 | x86_64,aarch64,s390x,riscv64 | +| brk | 🟢 | x86_64,aarch64,s390x,riscv64 | +| cachestat | 🟡 | s390x,riscv64,x86_64,aarch64 | +| capget | 🟡 | x86_64,aarch64,s390x,riscv64 | +| capset | 🟢 | x86_64,aarch64,s390x,riscv64 | +| chdir | 🟢 | s390x,riscv64,x86_64,aarch64 | +| chmod | 🟢 | x86_64,s390x | +| chown | 🟢 | s390x,x86_64 | +| chroot | 🟢 | aarch64,s390x,riscv64,x86_64 | +| clock_adjtime | 🟡 | aarch64,s390x,riscv64,x86_64 | +| clock_getres | 🟡 | x86_64,aarch64,s390x,riscv64 | +| clock_gettime | 🟡 | x86_64,aarch64,s390x,riscv64 | +| clock_nanosleep | 🟡 | aarch64,s390x,riscv64,x86_64 | +| clock_settime | 🟡 | s390x,riscv64,x86_64,aarch64 | +| clone | 🟢 | x86_64,aarch64,s390x,riscv64 | +| clone3 | 🟢 | x86_64,aarch64,s390x,riscv64 | +| close | 🟢 | x86_64,aarch64,s390x,riscv64 | +| close_range | 🟡 | x86_64,aarch64,s390x,riscv64 | +| connect | 🟢 | s390x,riscv64,x86_64,aarch64 | +| copy_file_range | 🟢 | aarch64,s390x,riscv64,x86_64 | +| creat | 🟢 | x86_64,s390x | +| create_module | 🟡 | x86_64,s390x | +| delete_module | 🟡 | aarch64,s390x,riscv64,x86_64 | +| dup | 🟢 | x86_64,aarch64,s390x,riscv64 | +| dup2 | 🟢 | x86_64,s390x | +| dup3 | 🟢 | riscv64,x86_64,aarch64,s390x | +| epoll_create | 🟢 | x86_64,s390x | +| epoll_create1 | 🟢 | x86_64,aarch64,s390x,riscv64 | +| epoll_ctl | 🟡 | x86_64,aarch64,s390x,riscv64 | +| epoll_ctl_old | 🟡 | x86_64 | +| epoll_pwait | 🟡 | x86_64,aarch64,s390x,riscv64 | +| epoll_pwait2 | 🟡 | aarch64,s390x,riscv64,x86_64 | +| epoll_wait | 🟢 | x86_64,s390x | +| epoll_wait_old | 🟡 | x86_64 | +| eventfd | 🟢 | x86_64,s390x | +| eventfd2 | 🟢 | x86_64,aarch64,s390x,riscv64 | +| execve | 🟢 | x86_64,aarch64,s390x,riscv64 | +| execveat | 🟢 | x86_64,aarch64,s390x,riscv64 | +| exit | 🟡 | x86_64,aarch64,s390x,riscv64 | +| exit_group | 🟡 | riscv64,x86_64,aarch64,s390x | +| faccessat | 🟡 | aarch64,s390x,riscv64,x86_64 | +| faccessat2 | 🟡 | x86_64,aarch64,s390x,riscv64 | +| fadvise64 | 🟡 | aarch64,s390x,riscv64,x86_64 | +| fallocate | 🟡 | s390x,riscv64,x86_64,aarch64 | +| fanotify_init | 🟡 | x86_64,aarch64,s390x,riscv64 | +| fanotify_mark | 🟡 | s390x,riscv64,x86_64,aarch64 | +| fchdir | 🟢 | aarch64,s390x,riscv64,x86_64 | +| fchmod | 🟢 | x86_64,aarch64,s390x,riscv64 | +| fchmodat | 🟢 | x86_64,aarch64,s390x,riscv64 | +| fchmodat2 | 🟡 | s390x,riscv64,x86_64,aarch64 | +| fchown | 🟢 | riscv64,x86_64,aarch64,s390x | +| fchownat | 🟢 | aarch64,s390x,riscv64,x86_64 | +| fcntl | 🟢 | x86_64,aarch64,s390x,riscv64 | +| fdatasync | 🟡 | x86_64,aarch64,s390x,riscv64 | +| fgetxattr | 🟡 | x86_64,aarch64,s390x,riscv64 | +| finit_module | 🟢 | aarch64,s390x,riscv64,x86_64 | +| flistxattr | 🟡 | x86_64,aarch64,s390x,riscv64 | +| flock | 🟢 | x86_64,aarch64,s390x,riscv64 | +| fork | 🟢 | x86_64,s390x | +| fremovexattr | 🟡 | s390x,riscv64,x86_64,aarch64 | +| fsconfig | 🟢 | x86_64,aarch64,s390x,riscv64 | +| fsetxattr | 🟡 | aarch64,s390x,riscv64,x86_64 | +| fsmount | 🟡 | x86_64,aarch64,s390x,riscv64 | +| fsopen | 🟡 | x86_64,aarch64,s390x,riscv64 | +| fspick | 🟡 | x86_64,aarch64,s390x,riscv64 | +| fstat | 🟢 | x86_64,aarch64,s390x,riscv64 | +| fstatfs | 🟡 | x86_64,aarch64,s390x,riscv64 | +| fstatfs64 | 🟡 | s390x | +| fsync | 🟡 | x86_64,aarch64,s390x,riscv64 | +| ftruncate | 🟡 | riscv64,x86_64,aarch64,s390x | +| futex | 🟢 | aarch64,s390x,riscv64,x86_64 | +| futex_waitv | 🟡 | x86_64,aarch64,s390x,riscv64 | +| futimesat | 🟡 | x86_64,s390x | +| get_kernel_syms | 🟡 | x86_64,s390x | +| get_mempolicy | 🟡 | x86_64,aarch64,s390x,riscv64 | +| get_robust_list | 🟡 | x86_64,aarch64,s390x,riscv64 | +| get_thread_area | 🟡 | x86_64 | +| getcpu | 🟡 | x86_64,aarch64,s390x,riscv64 | +| getcwd | 🟢 | x86_64,aarch64,s390x,riscv64 | +| getdents | 🟢 | s390x,x86_64 | +| getdents64 | 🟢 | x86_64,aarch64,s390x,riscv64 | +| getegid | 🟢 | riscv64,x86_64,aarch64,s390x | +| geteuid | 🟢 | x86_64,aarch64,s390x,riscv64 | +| getgid | 🟢 | aarch64,s390x,riscv64,x86_64 | +| getgroups | 🟡 | aarch64,s390x,riscv64,x86_64 | +| getitimer | 🟡 | x86_64,aarch64,s390x,riscv64 | +| getpeername | 🟢 | riscv64,x86_64,aarch64,s390x | +| getpgid | 🟡 | x86_64,aarch64,s390x,riscv64 | +| getpgrp | 🟡 | x86_64,s390x | +| getpid | 🟡 | x86_64,aarch64,s390x,riscv64 | +| getpmsg | 🟡 | x86_64,s390x | +| getppid | 🟡 | x86_64,aarch64,s390x,riscv64 | +| getpriority | 🟡 | x86_64,aarch64,s390x,riscv64 | +| getrandom | 🟡 | x86_64,aarch64,s390x,riscv64 | +| getresgid | 🟢 | aarch64,s390x,riscv64,x86_64 | +| getresuid | 🟢 | x86_64,aarch64,s390x,riscv64 | +| getrlimit | 🟢 | x86_64,aarch64,s390x,riscv64 | +| getrusage | 🟡 | x86_64,aarch64,s390x,riscv64 | +| getsid | 🟡 | x86_64,aarch64,s390x,riscv64 | +| getsockname | 🟢 | aarch64,s390x,riscv64,x86_64 | +| getsockopt | 🟢 | riscv64,x86_64,aarch64,s390x | +| gettid | 🟡 | riscv64,x86_64,aarch64,s390x | +| gettimeofday | 🟡 | x86_64,aarch64,s390x,riscv64 | +| getuid | 🟢 | x86_64,aarch64,s390x,riscv64 | +| getxattr | 🟡 | s390x,riscv64,x86_64,aarch64 | +| idle | 🟡 | s390x | +| init_module | 🟢 | x86_64,aarch64,s390x,riscv64 | +| inotify_add_watch | 🟡 | x86_64,aarch64,s390x,riscv64 | +| inotify_init | 🟢 | x86_64,s390x | +| inotify_init1 | 🟢 | x86_64,aarch64,s390x,riscv64 | +| inotify_rm_watch | 🟡 | s390x,riscv64,x86_64,aarch64 | +| io_cancel | 🟡 | x86_64,aarch64,s390x,riscv64 | +| io_destroy | 🟡 | x86_64,aarch64,s390x,riscv64 | +| io_getevents | 🟡 | riscv64,x86_64,aarch64,s390x | +| io_pgetevents | 🟡 | x86_64,aarch64,s390x,riscv64 | +| io_setup | 🟡 | riscv64,x86_64,aarch64,s390x | +| io_submit | 🟡 | x86_64,aarch64,s390x,riscv64 | +| io_uring_enter | 🟢 | x86_64,aarch64,s390x,riscv64 | +| io_uring_register | 🟢 | s390x,riscv64,x86_64,aarch64 | +| io_uring_setup | 🟢 | x86_64,aarch64,s390x,riscv64 | +| ioctl | 🟢 | x86_64,aarch64,s390x,riscv64 | +| ioperm | 🟡 | x86_64 | +| iopl | 🟡 | x86_64 | +| ioprio_get | 🟡 | x86_64,aarch64,s390x,riscv64 | +| ioprio_set | 🟡 | x86_64,aarch64,s390x,riscv64 | +| ipc | 🟡 | s390x | +| kcmp | 🟡 | aarch64,s390x,riscv64,x86_64 | +| kexec_file_load | 🟡 | x86_64,aarch64,s390x,riscv64 | +| kexec_load | 🟡 | x86_64,aarch64,s390x,riscv64 | +| keyctl | 🟡 | riscv64,x86_64,aarch64,s390x | +| kill | 🟢 | s390x,riscv64,x86_64,aarch64 | +| landlock_add_rule | 🟡 | aarch64,s390x,riscv64,x86_64 | +| landlock_create_ruleset | 🟡 | x86_64,aarch64,s390x,riscv64 | +| landlock_restrict_self | 🟡 | x86_64,aarch64,s390x,riscv64 | +| lchown | 🟢 | s390x,x86_64 | +| lgetxattr | 🟡 | riscv64,x86_64,aarch64,s390x | +| link | 🟢 | x86_64,s390x | +| linkat | 🟢 | x86_64,aarch64,s390x,riscv64 | +| listen | 🟢 | s390x,riscv64,x86_64,aarch64 | +| listxattr | 🟡 | x86_64,aarch64,s390x,riscv64 | +| llistxattr | 🟡 | riscv64,x86_64,aarch64,s390x | +| lookup_dcookie | 🟡 | aarch64,s390x,riscv64,x86_64 | +| lremovexattr | 🟡 | riscv64,x86_64,aarch64,s390x | +| lseek | 🟢 | x86_64,aarch64,s390x,riscv64 | +| lsetxattr | 🟡 | s390x,riscv64,x86_64,aarch64 | +| lstat | 🟢 | x86_64,s390x | +| madvise | 🟡 | x86_64,aarch64,s390x,riscv64 | +| map_shadow_stack | 🟡 | x86_64 | +| mbind | 🟡 | x86_64,aarch64,s390x,riscv64 | +| membarrier | 🟡 | x86_64,aarch64,s390x,riscv64 | +| memfd_create | 🟢 | x86_64,aarch64,s390x,riscv64 | +| memfd_secret | 🟡 | x86_64,aarch64,s390x,riscv64 | +| migrate_pages | 🟡 | x86_64,aarch64,s390x,riscv64 | +| mincore | 🟡 | riscv64,x86_64,aarch64,s390x | +| mkdir | 🟢 | x86_64,s390x | +| mkdirat | 🟢 | x86_64,aarch64,s390x,riscv64 | +| mknod | 🟢 | s390x,x86_64 | +| mknodat | 🟢 | x86_64,aarch64,s390x,riscv64 | +| mlock | 🟢 | s390x,riscv64,x86_64,aarch64 | +| mlock2 | 🟢 | riscv64,x86_64,aarch64,s390x | +| mlockall | 🟢 | s390x,riscv64,x86_64,aarch64 | +| mmap | 🟢 | x86_64,aarch64,s390x,riscv64 | +| modify_ldt | 🟡 | x86_64 | +| mount | 🟢 | x86_64,aarch64,s390x,riscv64 | +| mount_setattr | 🟡 | x86_64,aarch64,s390x,riscv64 | +| move_mount | 🟡 | aarch64,s390x,riscv64,x86_64 | +| move_pages | 🟡 | x86_64,aarch64,s390x,riscv64 | +| mprotect | 🟢 | aarch64,s390x,riscv64,x86_64 | +| mq_getsetattr | 🟡 | s390x,riscv64,x86_64,aarch64 | +| mq_notify | 🟡 | x86_64,aarch64,s390x,riscv64 | +| mq_open | 🟡 | x86_64,aarch64,s390x,riscv64 | +| mq_timedreceive | 🟡 | riscv64,x86_64,aarch64,s390x | +| mq_timedsend | 🟡 | x86_64,aarch64,s390x,riscv64 | +| mq_unlink | 🟡 | x86_64,aarch64,s390x,riscv64 | +| mremap | 🟡 | x86_64,aarch64,s390x,riscv64 | +| msgctl | 🟡 | riscv64,x86_64,aarch64,s390x | +| msgget | 🟡 | x86_64,aarch64,s390x,riscv64 | +| msgrcv | 🟡 | riscv64,x86_64,aarch64,s390x | +| msgsnd | 🟡 | x86_64,aarch64,s390x,riscv64 | +| msync | 🟡 | x86_64,aarch64,s390x,riscv64 | +| munlock | 🟢 | x86_64,aarch64,s390x,riscv64 | +| munlockall | 🟢 | x86_64,aarch64,s390x,riscv64 | +| munmap | 🟢 | aarch64,s390x,riscv64,x86_64 | +| name_to_handle_at | 🟡 | riscv64,x86_64,aarch64,s390x | +| nanosleep | 🟢 | riscv64,x86_64,aarch64,s390x | +| newfstatat | 🟡 | x86_64,aarch64,s390x,riscv64 | +| nfsservctl | 🟡 | x86_64,aarch64,s390x,riscv64 | +| nice | 🟡 | s390x | +| open | 🟢 | x86_64,s390x | +| open_by_handle_at | 🟢 | riscv64,x86_64,aarch64,s390x | +| open_tree | 🟡 | aarch64,s390x,riscv64,x86_64 | +| openat | 🟢 | aarch64,s390x,riscv64,x86_64 | +| openat2 | 🟢 | x86_64,aarch64,s390x,riscv64 | +| pause | 🟡 | x86_64,s390x | +| perf_event_open | 🟡 | aarch64,s390x,riscv64,x86_64 | +| personality | 🟡 | aarch64,s390x,riscv64,x86_64 | +| pidfd_getfd | 🟢 | s390x,riscv64,x86_64,aarch64 | +| pidfd_open | 🟢 | riscv64,x86_64,aarch64,s390x | +| pidfd_send_signal | 🟡 | riscv64,x86_64,aarch64,s390x | +| pipe | 🟢 | s390x,x86_64 | +| pipe2 | 🟢 | x86_64,aarch64,s390x,riscv64 | +| pivot_root | 🟡 | s390x,riscv64,x86_64,aarch64 | +| pkey_alloc | 🟡 | riscv64,x86_64,aarch64,s390x | +| pkey_free | 🟡 | x86_64,aarch64,s390x,riscv64 | +| pkey_mprotect | 🟡 | riscv64,x86_64,aarch64,s390x | +| poll | 🟢 | s390x,x86_64 | +| ppoll | 🟢 | x86_64,aarch64,s390x,riscv64 | +| prctl | 🟢 | riscv64,x86_64,aarch64,s390x | +| pread64 | 🟢 | x86_64,aarch64,s390x,riscv64 | +| preadv | 🟢 | x86_64,aarch64,s390x,riscv64 | +| preadv2 | 🟡 | s390x,riscv64,x86_64,aarch64 | +| prlimit64 | 🟢 | aarch64,s390x,riscv64,x86_64 | +| process_madvise | 🟡 | aarch64,s390x,riscv64,x86_64 | +| process_mrelease | 🟡 | s390x,riscv64,x86_64,aarch64 | +| process_vm_readv | 🟡 | aarch64,s390x,riscv64,x86_64 | +| process_vm_writev | 🟡 | s390x,riscv64,x86_64,aarch64 | +| pselect6 | 🟡 | riscv64,x86_64,aarch64,s390x | +| ptrace | 🟢 | x86_64,aarch64,s390x,riscv64 | +| pwrite64 | 🟢 | x86_64,aarch64,s390x,riscv64 | +| pwritev | 🟢 | x86_64,aarch64,s390x,riscv64 | +| pwritev2 | 🟡 | s390x,riscv64,x86_64,aarch64 | +| query_module | 🟡 | x86_64,s390x | +| quotactl | 🟢 | riscv64,x86_64,aarch64,s390x | +| quotactl_fd | 🟡 | x86_64,aarch64,s390x,riscv64 | +| read | 🟢 | x86_64,aarch64,s390x,riscv64 | +| readahead | 🟡 | x86_64,aarch64,s390x,riscv64 | +| readdir | 🟡 | s390x | +| readlink | 🟡 | s390x,x86_64 | +| readlinkat | 🟡 | s390x,riscv64,x86_64,aarch64 | +| readv | 🟢 | x86_64,aarch64,s390x,riscv64 | +| reboot | 🟡 | x86_64,aarch64,s390x,riscv64 | +| 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 | 🟡 | x86_64,aarch64,s390x,riscv64 | +| rename | 🟢 | x86_64,s390x | +| renameat | 🟢 | aarch64,s390x,x86_64 | +| renameat2 | 🟢 | x86_64,aarch64,s390x,riscv64 | +| request_key | 🟡 | x86_64,aarch64,s390x,riscv64 | +| restart_syscall | 🟡 | riscv64,x86_64,aarch64,s390x | +| riscv_flush_icache | 🟡 | riscv64 | +| riscv_hwprobe | 🟡 | riscv64 | +| rmdir | 🟢 | x86_64,s390x | +| rseq | 🟡 | x86_64,aarch64,s390x,riscv64 | +| rt_sigaction | 🟡 | x86_64,aarch64,s390x,riscv64 | +| rt_sigpending | 🟡 | s390x,riscv64,x86_64,aarch64 | +| rt_sigprocmask | 🟡 | s390x,riscv64,x86_64,aarch64 | +| rt_sigqueueinfo | 🟡 | x86_64,aarch64,s390x,riscv64 | +| rt_sigreturn | 🟡 | riscv64,x86_64,aarch64,s390x | +| rt_sigsuspend | 🟡 | aarch64,s390x,riscv64,x86_64 | +| rt_sigtimedwait | 🟡 | x86_64,aarch64,s390x,riscv64 | +| rt_tgsigqueueinfo | 🟡 | x86_64,aarch64,s390x,riscv64 | +| 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 | 🟡 | riscv64,x86_64,aarch64,s390x | +| sched_get_priority_min | 🟡 | x86_64,aarch64,s390x,riscv64 | +| sched_getaffinity | 🟡 | aarch64,s390x,riscv64,x86_64 | +| sched_getattr | 🟡 | x86_64,aarch64,s390x,riscv64 | +| sched_getparam | 🟡 | x86_64,aarch64,s390x,riscv64 | +| sched_getscheduler | 🟡 | x86_64,aarch64,s390x,riscv64 | +| sched_rr_get_interval | 🟡 | s390x,riscv64,x86_64,aarch64 | +| sched_setaffinity | 🟡 | x86_64,aarch64,s390x,riscv64 | +| sched_setattr | 🟡 | s390x,riscv64,x86_64,aarch64 | +| sched_setparam | 🟡 | aarch64,s390x,riscv64,x86_64 | +| sched_setscheduler | 🟡 | x86_64,aarch64,s390x,riscv64 | +| sched_yield | 🟡 | x86_64,aarch64,s390x,riscv64 | +| seccomp | 🟢 | x86_64,aarch64,s390x,riscv64 | +| select | 🟢 | s390x,x86_64 | +| semctl | 🟢 | x86_64,aarch64,s390x,riscv64 | +| semget | 🟢 | riscv64,x86_64,aarch64,s390x | +| semop | 🟢 | riscv64,x86_64,aarch64 | +| semtimedop | 🟡 | aarch64,s390x,riscv64,x86_64 | +| sendfile | 🟢 | x86_64,aarch64,s390x,riscv64 | +| sendmmsg | 🟢 | riscv64,x86_64,aarch64,s390x | +| sendmsg | 🟢 | x86_64,aarch64,s390x,riscv64 | +| sendto | 🟢 | x86_64,aarch64,s390x,riscv64 | +| set_mempolicy | 🟡 | s390x,riscv64,x86_64,aarch64 | +| set_mempolicy_home_node | 🟡 | x86_64,aarch64,s390x,riscv64 | +| set_robust_list | 🟡 | x86_64,aarch64,s390x,riscv64 | +| set_thread_area | 🟡 | x86_64 | +| set_tid_address | 🟡 | x86_64,aarch64,s390x,riscv64 | +| setdomainname | 🟡 | x86_64,aarch64,s390x,riscv64 | +| setfsgid | 🟡 | riscv64,x86_64,aarch64,s390x | +| setfsuid | 🟡 | riscv64,x86_64,aarch64,s390x | +| setgid | 🟢 | x86_64,aarch64,s390x,riscv64 | +| setgroups | 🟡 | s390x,riscv64,x86_64,aarch64 | +| sethostname | 🟡 | x86_64,aarch64,s390x,riscv64 | +| setitimer | 🟡 | x86_64,aarch64,s390x,riscv64 | +| setns | 🟢 | x86_64,aarch64,s390x,riscv64 | +| setpgid | 🟢 | x86_64,aarch64,s390x,riscv64 | +| setpriority | 🟡 | riscv64,x86_64,aarch64,s390x | +| setregid | 🟡 | x86_64,aarch64,s390x,riscv64 | +| setresgid | 🟢 | x86_64,aarch64,s390x,riscv64 | +| setresuid | 🟢 | aarch64,s390x,riscv64,x86_64 | +| setreuid | 🟡 | aarch64,s390x,riscv64,x86_64 | +| setrlimit | 🟢 | riscv64,x86_64,aarch64,s390x | +| setsid | 🟢 | aarch64,s390x,riscv64,x86_64 | +| setsockopt | 🟢 | s390x,riscv64,x86_64,aarch64 | +| settimeofday | 🟡 | x86_64,aarch64,s390x,riscv64 | +| setuid | 🟢 | x86_64,aarch64,s390x,riscv64 | +| setxattr | 🟡 | riscv64,x86_64,aarch64,s390x | +| shmat | 🟡 | x86_64,aarch64,s390x,riscv64 | +| shmctl | 🟡 | x86_64,aarch64,s390x,riscv64 | +| shmdt | 🟡 | x86_64,aarch64,s390x,riscv64 | +| shmget | 🟡 | x86_64,aarch64,s390x,riscv64 | +| shutdown | 🟢 | x86_64,aarch64,s390x,riscv64 | +| sigaction | 🟡 | s390x | +| sigaltstack | 🟡 | x86_64,aarch64,s390x,riscv64 | +| 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 | 🟢 | x86_64,aarch64,s390x,riscv64 | +| splice | 🟢 | s390x,riscv64,x86_64,aarch64 | +| stat | 🟢 | x86_64,s390x | +| statfs | 🟡 | x86_64,aarch64,s390x,riscv64 | +| statfs64 | 🟡 | s390x | +| statx | 🟡 | riscv64,x86_64,aarch64,s390x | +| swapoff | 🟡 | x86_64,aarch64,s390x,riscv64 | +| swapon | 🟡 | s390x,riscv64,x86_64,aarch64 | +| symlink | 🟢 | x86_64,s390x | +| symlinkat | 🟢 | x86_64,aarch64,s390x,riscv64 | +| sync | 🟡 | x86_64,aarch64,s390x,riscv64 | +| sync_file_range | 🟡 | s390x,riscv64,x86_64,aarch64 | +| syncfs | 🟡 | x86_64,aarch64,s390x,riscv64 | +| sysfs | 🟡 | x86_64,s390x | +| sysinfo | 🟡 | x86_64,aarch64,s390x,riscv64 | +| syslog | 🟡 | x86_64,aarch64,s390x,riscv64 | +| tee | 🟡 | x86_64,aarch64,s390x,riscv64 | +| tgkill | 🟢 | s390x,riscv64,x86_64,aarch64 | +| time | 🟡 | x86_64 | +| timer_create | 🟡 | x86_64,aarch64,s390x,riscv64 | +| timer_delete | 🟡 | x86_64,aarch64,s390x,riscv64 | +| timer_getoverrun | 🟡 | riscv64,x86_64,aarch64,s390x | +| timer_gettime | 🟡 | aarch64,s390x,riscv64,x86_64 | +| timer_settime | 🟡 | riscv64,x86_64,aarch64,s390x | +| timerfd | 🟡 | s390x | +| timerfd_create | 🟢 | x86_64,aarch64,s390x,riscv64 | +| timerfd_gettime | 🟡 | s390x,riscv64,x86_64,aarch64 | +| timerfd_settime | 🟡 | x86_64,aarch64,s390x,riscv64 | +| times | 🟡 | aarch64,s390x,riscv64,x86_64 | +| tkill | 🟢 | riscv64,x86_64,aarch64,s390x | +| truncate | 🟡 | x86_64,aarch64,s390x,riscv64 | +| umask | 🟡 | s390x,riscv64,x86_64,aarch64 | +| umount | 🟢 | s390x | +| umount2 | 🟢 | x86_64,aarch64,s390x,riscv64 | +| uname | 🟡 | x86_64,aarch64,s390x,riscv64 | +| unlink | 🟢 | x86_64,s390x | +| unlinkat | 🟢 | s390x,riscv64,x86_64,aarch64 | +| unshare | 🟢 | s390x,riscv64,x86_64,aarch64 | +| uselib | 🟡 | x86_64,s390x | +| userfaultfd | 🟢 | aarch64,s390x,riscv64,x86_64 | +| ustat | 🟡 | x86_64,s390x | +| utime | 🟡 | x86_64,s390x | +| utimensat | 🟡 | s390x,riscv64,x86_64,aarch64 | +| utimes | 🟡 | s390x,x86_64 | +| vfork | 🟢 | x86_64,s390x | +| vhangup | 🟡 | x86_64,aarch64,s390x,riscv64 | +| vmsplice | 🟡 | x86_64,aarch64,s390x,riscv64 | +| wait4 | 🟡 | s390x,riscv64,x86_64,aarch64 | +| waitid | 🟡 | x86_64,aarch64,s390x,riscv64 | +| write | 🟢 | s390x,riscv64,x86_64,aarch64 | +| writev | 🟢 | s390x,riscv64,x86_64,aarch64 | diff --git a/driver/SCHEMA_VERSION b/driver/SCHEMA_VERSION index 3cf561c0b6..371a952d65 100644 --- a/driver/SCHEMA_VERSION +++ b/driver/SCHEMA_VERSION @@ -1 +1 @@ -2.12.1 +2.12.2 diff --git a/driver/ppm_events_public.h b/driver/ppm_events_public.h index db2e8e3914..1bd920572d 100644 --- a/driver/ppm_events_public.h +++ b/driver/ppm_events_public.h @@ -1870,7 +1870,9 @@ enum extra_event_prog_code PPM_SC_X(S390_GUARDED_STORAGE, 411) \ PPM_SC_X(CACHESTAT, 412) \ PPM_SC_X(FCHMODAT2, 413) \ - PPM_SC_X(MAP_SHADOW_STACK, 414) + PPM_SC_X(MAP_SHADOW_STACK, 414) \ + PPM_SC_X(RISCV_FLUSH_ICACHE, 415) \ + PPM_SC_X(RISCV_HWPROBE, 416) typedef enum { #define PPM_SC_X(name, value) PPM_SC_##name = (value), diff --git a/driver/syscall_compat_riscv64.h b/driver/syscall_compat_riscv64.h index 4242638919..08ae1b53b6 100644 --- a/driver/syscall_compat_riscv64.h +++ b/driver/syscall_compat_riscv64.h @@ -1,3 +1,18 @@ +// SPDX-License-Identifier: GPL-2.0-only OR MIT +/* + +Copyright (C) 2023 The Falco Authors. + +This file is dual licensed under either the MIT or GPL 2. See MIT.txt +or GPL2.txt for full copies of the license. + +*/ + +/* + * This file was automatically created by syscalls-bumper (https://github.com/falcosecurity/syscalls-bumper).") + * DO NOT EDIT THIS FILE MANUALLY.") + */ + #pragma once #ifndef __NR_io_setup #define __NR_io_setup 0 @@ -728,6 +743,9 @@ #ifndef __NR_recvmmsg #define __NR_recvmmsg 243 #endif +#ifndef __NR_riscv_hwprobe +#define __NR_riscv_hwprobe 258 +#endif #ifndef __NR_riscv_flush_icache #define __NR_riscv_flush_icache 259 #endif @@ -917,3 +935,9 @@ #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 diff --git a/driver/syscall_ia32_64_map.c b/driver/syscall_ia32_64_map.c index 9d6413dd6c..b18c66a5d7 100644 --- a/driver/syscall_ia32_64_map.c +++ b/driver/syscall_ia32_64_map.c @@ -23,434 +23,434 @@ 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] = { - [396] = 31, - [315] = 276, - [286] = 248, - [394] = 66, - [5] = 2, - [167] = 178, - [302] = 264, - [399] = 68, - [84] = -1, // ia32 only: oldlstat - [107] = 6, - [79] = 164, - [281] = 244, - [166] = -1, // ia32 only: vm86 - [162] = 35, - [278] = 241, - [127] = 174, - [14] = 133, - [209] = -1, // ia32 only: getresuid32 - [3] = 0, - [319] = 281, - [244] = 211, - [221] = -1, // ia32 only: fcntl64 - [85] = 89, - [159] = 146, - [263] = 226, - [96] = 140, - [416] = -1, // ia32 only: io_pgetevents_time64 - [365] = 55, - [293] = 255, - [201] = -1, // ia32 only: geteuid32 - [438] = 438, + [362] = 42, + [64] = 110, + [128] = 175, + [290] = 252, + [68] = -1, // ia32 only: sgetmask + [27] = 37, + [380] = 329, [321] = 282, - [307] = 269, - [183] = 79, - [353] = 316, - [81] = 116, - [300] = -1, // ia32 only: fstatat64 - [132] = 121, - [199] = -1, // ia32 only: getuid32 - [170] = 119, - [106] = 4, - [51] = 163, - [433] = 433, - [129] = 176, [19] = 8, - [61] = 161, - [406] = -1, // ia32 only: clock_getres_time64 - [442] = 442, - [36] = 162, + [157] = 145, + [339] = 301, + [281] = 244, + [258] = 218, + [327] = 289, + [322] = 283, [325] = 286, - [55] = 72, - [246] = 207, - [15] = 90, - [447] = 447, - [25] = -1, // ia32 only: stime - [231] = 193, - [444] = 444, - [351] = 314, - [398] = 67, - [425] = 425, - [317] = 279, - [236] = 198, - [350] = 313, - [349] = 312, - [20] = 39, - [196] = -1, // ia32 only: lstat64 + [435] = 435, + [198] = -1, // ia32 only: lchown32 + [352] = 315, + [191] = -1, // ia32 only: ugetrlimit + [249] = 210, + [87] = 167, + [10] = 87, + [359] = 41, + [334] = 296, + [71] = 114, + [130] = 177, + [452] = 452, + [300] = -1, // ia32 only: fstatat64 + [269] = -1, // ia32 only: fstatfs64 + [232] = 194, [274] = 237, - [168] = 7, - [379] = 328, - [451] = 451, - [207] = -1, // ia32 only: fchown32 - [309] = 271, - [134] = -1, // ia32 only: bdflush - [296] = 258, - [67] = -1, // ia32 only: sigaction - [271] = 235, - [264] = 227, - [105] = 36, - [80] = 115, - [247] = 208, - [418] = -1, // ia32 only: mq_timedsend_time64 - [180] = 17, - [287] = 249, - [160] = 147, - [8] = 85, - [197] = -1, // ia32 only: fstat64 - [303] = 265, - [280] = 243, - [186] = 131, - [185] = 126, - [422] = -1, // ia32 only: futex_time64 [28] = -1, // ia32 only: oldfstat - [382] = 331, - [417] = -1, // ia32 only: recvmmsg_time64 + [216] = -1, // ia32 only: setfsgid32 + [306] = 268, + [314] = 277, + [163] = 25, + [230] = 192, + [413] = -1, // ia32 only: pselect6_time64 + [310] = 272, + [376] = 325, + [70] = 113, [115] = 168, - [252] = 231, - [76] = 97, - [318] = 309, - [414] = -1, // ia32 only: ppoll_time64 - [131] = 179, - [182] = 92, - [266] = 229, - [126] = -1, // ia32 only: sigprocmask - [200] = -1, // ia32 only: getgid32 + [211] = -1, // ia32 only: getresgid32 + [312] = 274, + [438] = 438, [121] = 171, - [176] = 127, - [393] = 64, - [210] = -1, // ia32 only: setresgid32 - [213] = -1, // ia32 only: setuid32 - [373] = 48, - [328] = 290, - [9] = 86, - [421] = -1, // ia32 only: rt_sigtimedwait_time64 [408] = -1, // ia32 only: timer_gettime64 - [255] = 233, - [324] = 285, - [154] = 142, - [383] = 332, - [220] = 217, - [369] = 44, - [198] = -1, // ia32 only: lchown32 - [34] = -1, // ia32 only: nice - [381] = 330, - [284] = 247, - [49] = 107, - [363] = 50, - [64] = 110, - [395] = 29, + [33] = 21, + [379] = 328, + [36] = 162, + [114] = 61, + [441] = 441, + [429] = 429, [448] = 448, - [314] = 277, - [370] = 46, - [226] = 188, - [73] = -1, // ia32 only: sigpending - [133] = 81, - [385] = 333, - [360] = 53, - [92] = 76, - [120] = 56, - [155] = 143, - [227] = 189, - [323] = 284, - [150] = 149, - [158] = 24, - [262] = 225, - [27] = 37, [234] = 196, - [358] = 322, - [291] = 253, - [241] = 203, - [420] = -1, // ia32 only: semtimedop_time64 - [139] = 123, - [359] = 41, - [62] = 136, - [94] = 91, - [355] = 318, - [452] = 452, - [304] = 266, - [128] = 175, - [248] = 209, - [39] = 83, - [184] = 125, - [93] = 77, - [181] = 18, - [254] = 213, - [77] = 98, - [38] = 82, - [344] = 306, - [237] = 199, - [89] = -1, // ia32 only: readdir - [148] = 75, - [270] = 234, - [23] = 105, + [162] = 35, + [119] = -1, // ia32 only: sigreturn [30] = 132, - [205] = -1, // ia32 only: getgroups32 - [172] = 157, - [401] = 70, - [46] = 106, - [104] = 38, - [346] = 308, - [366] = 54, - [376] = 325, - [192] = 9, // NOTE: syscall unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. - [261] = 224, - [316] = 278, - [63] = 33, - [368] = 52, - [1] = 60, - [229] = 191, - [258] = 218, - [219] = 28, - [109] = -1, // ia32 only: olduname - [21] = 165, - [42] = 22, - [0] = 219, [2] = 57, - [240] = 202, - [371] = 45, - [215] = -1, // ia32 only: setfsuid32 - [409] = -1, // ia32 only: timer_settime64 - [86] = 134, - [78] = 96, - [288] = 250, - [206] = -1, // ia32 only: setgroups32 - [68] = -1, // ia32 only: sgetmask - [446] = 446, - [375] = 324, - [82] = 23, - [450] = 450, - [233] = 195, - [361] = 49, + [132] = 121, + [395] = 29, [343] = 305, - [428] = 428, - [65] = 111, - [279] = 242, - [380] = 329, - [238] = 200, - [4] = 1, - [308] = 270, - [69] = -1, // ia32 only: ssetmask - [407] = -1, // ia32 only: clock_nanosleep_time64 - [40] = 84, - [174] = 13, - [157] = 145, - [70] = 113, - [250] = 221, - [145] = 19, - [333] = 295, [225] = 187, - [320] = 280, - [339] = 301, - [331] = 293, - [230] = 192, - [116] = 99, - [439] = 439, - [269] = -1, // ia32 only: fstatfs64 - [47] = 104, - [165] = 118, - [445] = 445, - [97] = 141, - [119] = -1, // ia32 only: sigreturn - [362] = 42, - [272] = -1, // ia32 only: fadvise64_64 - [204] = -1, // ia32 only: setregid32 - [149] = 156, - [6] = 3, + [263] = 226, + [309] = 271, + [426] = 426, + [111] = 153, + [51] = 163, + [143] = 73, + [244] = 211, + [351] = 314, + [139] = 123, + [66] = 112, + [324] = 285, + [319] = 281, + [345] = 307, + [271] = 235, + [405] = -1, // ia32 only: clock_adjtime64 + [257] = 216, + [82] = 23, + [356] = 319, + [253] = 212, + [434] = 434, + [187] = 40, + [69] = -1, // ia32 only: ssetmask + [303] = 265, + [136] = 135, + [155] = 143, + [289] = 251, + [401] = 70, + [353] = 316, + [78] = 96, + [416] = -1, // ia32 only: io_pgetevents_time64 + [277] = 240, + [287] = 249, + [241] = 203, + [208] = -1, // ia32 only: setresuid32 + [102] = -1, // ia32 only: socketcall + [252] = 231, + [150] = 149, + [418] = -1, // ia32 only: mq_timedsend_time64 [336] = 298, - [100] = 138, - [101] = 173, - [301] = 263, + [386] = 334, + [176] = 127, + [248] = 209, [374] = 323, - [7] = -1, // ia32 only: waitpid - [253] = 212, - [179] = 130, - [306] = 268, - [449] = 449, - [372] = 47, - [412] = -1, // ia32 only: utimensat_time64 - [143] = 73, + [246] = 207, + [268] = -1, // ia32 only: statfs64 + [3] = 0, + [365] = 55, + [5] = 2, + [172] = 157, + [361] = 49, + [207] = -1, // ia32 only: fchown32 [152] = 151, - [136] = 135, - [124] = 159, - [384] = 158, + [347] = 310, + [12] = 80, + [278] = 241, + [97] = 141, + [65] = 111, + [402] = 71, + [20] = 39, + [445] = 445, + [443] = 443, + [215] = -1, // ia32 only: setfsuid32 + [432] = 432, + [75] = 160, + [60] = 95, + [164] = 117, + [100] = 138, + [154] = 142, + [156] = 144, + [358] = 322, [112] = -1, // ia32 only: idle + [192] = 9, // NOTE: syscall unmapped on x86_64, forcefully mapped to compatible syscall. See syscalls-bumper bumpIA32to64Map() call. + [72] = -1, // ia32 only: sigsuspend + [284] = 247, + [228] = 190, + [99] = 137, + [210] = -1, // ia32 only: setresgid32 + [6] = 3, + [293] = 255, + [54] = 16, + [186] = 131, + [142] = -1, // ia32 only: _newselect + [328] = 290, + [67] = -1, // ia32 only: sigaction + [242] = 204, + [297] = 259, + [159] = 146, + [11] = 59, + [199] = -1, // ia32 only: getuid32 + [444] = 444, + [25] = -1, // ia32 only: stime + [259] = 222, + [350] = 313, + [24] = 102, + [14] = 133, + [282] = 245, + [85] = 89, + [204] = -1, // ia32 only: setregid32 + [13] = 201, + [261] = 224, + [63] = 33, + [227] = 189, + [266] = 229, + [275] = 239, + [185] = 126, + [118] = 74, + [170] = 119, + [94] = 91, [171] = 120, - [224] = 186, - [342] = 304, + [245] = 206, + [346] = 308, + [255] = 233, + [131] = 179, + [236] = 198, + [212] = -1, // ia32 only: chown32 + [264] = 227, + [134] = -1, // ia32 only: bdflush + [316] = 278, + [299] = 261, + [317] = 279, + [373] = 48, + [344] = 306, + [77] = 98, + [377] = 326, + [279] = 242, [217] = 155, + [308] = 270, + [421] = -1, // ia32 only: rt_sigtimedwait_time64 + [313] = 275, + [95] = 93, + [385] = 333, + [414] = -1, // ia32 only: ppoll_time64 + [333] = 295, + [394] = 66, + [397] = 30, + [368] = 52, + [437] = 437, + [371] = 45, + [108] = 5, + [201] = -1, // ia32 only: geteuid32 + [23] = 105, + [73] = -1, // ia32 only: sigpending + [393] = 64, + [419] = -1, // ia32 only: mq_timedreceive_time64 + [160] = 147, + [122] = 63, + [62] = 136, + [357] = 321, + [92] = 76, + [422] = -1, // ia32 only: futex_time64 + [292] = 254, + [9] = 86, + [86] = 134, + [15] = 90, + [135] = 139, + [433] = 433, + [83] = 88, + [301] = 263, + [286] = 248, + [442] = 442, + [145] = 19, + [420] = -1, // ia32 only: semtimedop_time64 + [355] = 318, + [144] = 26, + [167] = 178, + [370] = 46, + [52] = 166, + [47] = 104, + [89] = -1, // ia32 only: readdir [335] = 297, - [260] = 223, - [41] = 32, - [54] = 16, + [326] = 287, [367] = 51, - [208] = -1, // ia32 only: setresuid32 - [289] = 251, - [277] = 240, - [178] = 129, - [11] = 59, - [275] = 239, - [345] = 307, - [99] = 137, - [410] = -1, // ia32 only: timerfd_gettime64 - [283] = 246, - [337] = 299, - [348] = 311, + [220] = 217, + [235] = 197, + [272] = -1, // ia32 only: fadvise64_64 + [384] = 158, + [424] = 424, + [193] = -1, // ia32 only: truncate64 + [184] = 125, + [165] = 118, + [196] = -1, // ia32 only: lstat64 + [331] = 293, + [138] = 122, + [451] = 451, + [88] = 169, + [302] = 264, + [382] = 331, + [267] = 230, + [8] = 85, + [141] = 78, + [0] = 219, + [203] = -1, // ia32 only: setreuid32 + [106] = 4, + [43] = 100, + [140] = -1, // ia32 only: _llseek + [369] = 44, + [411] = -1, // ia32 only: timerfd_settime64 + [22] = -1, // ia32 only: umount + [412] = -1, // ia32 only: utimensat_time64 + [49] = 107, + [354] = 317, + [366] = 54, + [80] = 115, + [323] = 284, + [59] = -1, // ia32 only: oldolduname + [182] = 92, + [226] = 188, + [39] = 83, + [37] = 62, + [219] = 28, + [55] = 72, + [224] = 186, + [446] = 446, + [305] = 267, + [450] = 450, + [149] = 156, + [46] = 106, + [247] = 208, + [38] = 82, + [74] = 170, + [169] = 180, + [338] = 300, + [197] = -1, // ia32 only: fstat64 + [233] = 195, + [295] = 257, + [436] = 436, + [166] = -1, // ia32 only: vm86 + [126] = -1, // ia32 only: sigprocmask + [101] = 173, + [311] = 273, + [240] = 202, + [147] = 124, + [153] = 152, [177] = 128, - [267] = 230, - [430] = 430, - [151] = 150, - [249] = 210, - [125] = 10, - [347] = 310, - [326] = 287, - [338] = 300, - [424] = 424, - [13] = 201, - [411] = -1, // ia32 only: timerfd_settime64 - [37] = 62, - [75] = 160, + [79] = 164, + [96] = 140, + [318] = 309, [202] = -1, // ia32 only: getegid32 - [146] = 20, - [45] = 12, - [95] = 93, - [59] = -1, // ia32 only: oldolduname - [74] = 170, - [60] = 95, - [357] = 321, - [123] = 154, - [203] = -1, // ia32 only: setreuid32 - [190] = 58, - [110] = 172, + [349] = 312, + [148] = 75, + [179] = 130, + [404] = -1, // ia32 only: clock_settime64 + [239] = -1, // ia32 only: sendfile64 + [320] = 280, [29] = 34, - [216] = -1, // ia32 only: setfsgid32 - [33] = 21, - [211] = -1, // ia32 only: getresgid32 - [114] = 61, - [402] = 71, - [341] = 303, - [135] = 139, - [103] = 103, - [130] = 177, - [50] = 108, - [434] = 434, - [173] = 15, - [102] = -1, // ia32 only: socketcall - [377] = 326, - [147] = 124, - [141] = 78, - [276] = 238, - [243] = 205, - [57] = 109, + [449] = 449, + [291] = 253, + [117] = -1, // ia32 only: ipc + [84] = -1, // ia32 only: oldlstat + [178] = 129, + [161] = 148, + [270] = 234, + [194] = -1, // ia32 only: ftruncate64 + [427] = 427, + [34] = -1, // ia32 only: nice + [200] = -1, // ia32 only: getgid32 + [430] = 430, [431] = 431, - [228] = 190, - [299] = 261, - [290] = 252, - [443] = 443, - [66] = 112, - [397] = 30, - [322] = 283, - [441] = 441, - [432] = 432, - [257] = 216, - [10] = 87, - [214] = -1, // ia32 only: setgid32 - [122] = 63, - [191] = -1, // ia32 only: ugetrlimit - [52] = 166, + [104] = 38, + [209] = -1, // ia32 only: getresuid32 + [41] = 32, + [16] = 94, + [363] = 50, + [447] = 447, + [168] = 7, + [265] = 228, + [250] = 221, + [425] = 425, + [283] = 246, + [375] = 324, + [218] = 27, + [342] = 304, + [417] = -1, // ia32 only: recvmmsg_time64 + [406] = -1, // ia32 only: clock_getres_time64 [48] = -1, // ia32 only: signal - [268] = -1, // ia32 only: statfs64 - [282] = 245, - [332] = 294, - [245] = 206, - [437] = 437, [329] = 291, - [117] = -1, // ia32 only: ipc - [356] = 319, - [83] = 88, - [354] = 317, - [87] = 167, - [118] = 74, - [400] = 69, - [435] = 435, - [24] = 102, - [43] = 100, - [111] = 153, - [212] = -1, // ia32 only: chown32 - [265] = 228, + [398] = 67, + [229] = 191, + [237] = 199, + [105] = 36, + [243] = 205, + [61] = 161, + [307] = 269, + [381] = 330, + [206] = -1, // ia32 only: setgroups32 + [57] = 109, + [124] = 159, + [440] = 440, + [26] = 101, + [133] = 81, + [21] = 165, + [399] = 68, + [109] = -1, // ia32 only: olduname + [428] = 428, + [337] = 299, + [383] = 332, [298] = 260, - [327] = 289, - [436] = 436, - [330] = 292, - [169] = 180, - [235] = 197, - [12] = 80, - [405] = -1, // ia32 only: clock_adjtime64 - [164] = 117, - [187] = 40, - [138] = 122, - [18] = -1, // ia32 only: oldstat - [72] = -1, // ia32 only: sigsuspend + [221] = -1, // ia32 only: fcntl64 + [231] = 193, + [50] = 108, + [180] = 17, + [116] = 99, + [315] = 276, + [120] = 56, + [332] = 294, + [127] = 174, + [45] = 12, + [409] = -1, // ia32 only: timer_settime64 + [4] = 1, [364] = 288, - [403] = -1, // ia32 only: clock_gettime64 - [259] = 222, - [22] = -1, // ia32 only: umount - [91] = 11, - [71] = 114, - [239] = -1, // ia32 only: sendfile64 + [400] = 69, + [190] = 58, + [113] = -1, // ia32 only: vm86old [294] = 256, - [163] = 25, - [195] = -1, // ia32 only: stat64 - [108] = 5, - [426] = 426, - [88] = 169, - [194] = -1, // ia32 only: ftruncate64 - [90] = 9, - [242] = 204, - [156] = 144, - [429] = 429, + [439] = 439, + [288] = 250, + [107] = 6, + [123] = 154, + [173] = 15, + [396] = 31, + [103] = 103, + [129] = 176, + [205] = -1, // ia32 only: getgroups32 + [125] = 10, + [18] = -1, // ia32 only: oldstat + [262] = 225, + [1] = 60, + [183] = 79, + [372] = 47, + [423] = -1, // ia32 only: sched_rr_get_interval_time64 + [110] = 172, + [42] = 22, + [340] = 302, + [81] = 116, + [360] = 53, + [407] = -1, // ia32 only: clock_nanosleep_time64 + [238] = 200, + [341] = 303, + [410] = -1, // ia32 only: timerfd_gettime64 + [7] = -1, // ia32 only: waitpid + [40] = 84, + [91] = 11, [378] = 327, - [427] = 427, - [295] = 257, [175] = 14, - [404] = -1, // ia32 only: clock_settime64 - [292] = 254, - [153] = 152, - [305] = 267, - [193] = -1, // ia32 only: truncate64 - [310] = 272, - [16] = 94, - [144] = 26, - [419] = -1, // ia32 only: mq_timedreceive_time64 - [340] = 302, - [440] = 440, - [313] = 275, - [113] = -1, // ia32 only: vm86old + [304] = 266, + [146] = 20, + [296] = 258, + [76] = 97, + [151] = 150, + [276] = 238, + [254] = 213, + [195] = -1, // ia32 only: stat64 + [260] = 223, + [213] = -1, // ia32 only: setuid32 + [280] = 243, + [181] = 18, [256] = 232, - [312] = 274, - [26] = 101, - [311] = 273, + [214] = -1, // ia32 only: setgid32 + [93] = 77, + [90] = 9, + [348] = 311, + [158] = 24, + [403] = -1, // ia32 only: clock_gettime64 [188] = 181, - [218] = 27, - [334] = 296, - [413] = -1, // ia32 only: pselect6_time64 - [386] = 334, - [232] = 194, - [297] = 259, - [352] = 315, - [161] = 148, - [423] = -1, // ia32 only: sched_rr_get_interval_time64 - [140] = -1, // ia32 only: _llseek - [142] = -1, // ia32 only: _newselect + [174] = 13, + [330] = 292, }; diff --git a/driver/syscall_table.c b/driver/syscall_table.c index 676de3c734..08c2675b2c 100644 --- a/driver/syscall_table.c +++ b/driver/syscall_table.c @@ -922,4 +922,10 @@ const struct syscall_evt_pair g_syscall_table[SYSCALL_TABLE_SIZE] = { #ifdef __NR_map_shadow_stack [__NR_map_shadow_stack - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_MAP_SHADOW_STACK}, #endif +#ifdef __NR_riscv_flush_icache + [__NR_riscv_flush_icache - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_RISCV_FLUSH_ICACHE}, +#endif +#ifdef __NR_riscv_hwprobe + [__NR_riscv_hwprobe - SYSCALL_TABLE_ID0] = {.ppm_sc = PPM_SC_RISCV_HWPROBE}, +#endif }; diff --git a/userspace/libscap/linux/scap_ppm_sc.c b/userspace/libscap/linux/scap_ppm_sc.c index 0ac6f8d6a2..ec577a0b0e 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, -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, -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, -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, -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},