From 9e2dcd210f863983622da50c272bda55c91854c5 Mon Sep 17 00:00:00 2001 From: "Tom Hromatka (Oracle)" Date: Mon, 13 Apr 2026 07:59:23 -0600 Subject: [PATCH 1/5] syscalls: Add enumerations for kernels 6.18, 6.19, and 7.0 Add enumerations for kernels 6.18, 6.19, and 7.0 Signed-off-by: Tom Hromatka (Oracle) --- include/seccomp-kvers.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/seccomp-kvers.h b/include/seccomp-kvers.h index b340c28b..d095cf70 100644 --- a/include/seccomp-kvers.h +++ b/include/seccomp-kvers.h @@ -108,5 +108,8 @@ enum scmp_kver { SCMP_KV_6_15 = 78, SCMP_KV_6_16 = 79, SCMP_KV_6_17 = 80, + SCMP_KV_6_18 = 81, + SCMP_KV_6_19 = 82, + SCMP_KV_7_0 = 83, __SCMP_KV_MAX, }; From 47c429f5431d36fdcfbbda16d8666a28650d4602 Mon Sep 17 00:00:00 2001 From: "Tom Hromatka (Oracle)" Date: Mon, 13 Apr 2026 08:23:59 -0600 Subject: [PATCH 2/5] arch: Minor improvements to arch-build-kver-tables.py A few minor improvements to the script that builds the kernel version tables: * Improve the copy logic from the syscalls-table tool so that the the syscall tables are copied directly to target directory and not to a child directory * Convert relative paths to absolute path. The syscalls-table tool does not support relative paths * Add the latest kernel version numbers to the built-in list. (This isn't strictly required as the tool can handle arbitrary input from the user, but it's an easy update while we're already modifying the script.) Signed-off-by: Tom Hromatka (Oracle) --- src/arch-build-kver-tables.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/arch-build-kver-tables.py b/src/arch-build-kver-tables.py index 47c926b2..8960ed00 100755 --- a/src/arch-build-kver-tables.py +++ b/src/arch-build-kver-tables.py @@ -29,6 +29,7 @@ ####################################################### from subprocess import TimeoutExpired +from pathlib import Path import subprocess import argparse import os @@ -43,7 +44,7 @@ '5.11', '5.12', '5.13', '5.14', '5.15', '5.16', '5.17', '5.18', '5.19', '6.0', '6.1', '6.2', '6.3', '6.4', '6.5', '6.6', '6.7', '6.8', '6.9', '6.10', '6.11', '6.12', - '6.13', '6.14', '6.15', '6.16', '6.17'] + '6.13', '6.14', '6.15', '6.16', '6.17', '6.18', '6.19', '7.0'] def parse_args(): parser = argparse.ArgumentParser('Script to populate the syscalls.csv kernel versions', @@ -66,6 +67,10 @@ def parse_args(): else: args.versions = args.versions.split(',') + # Convert to absolute paths + args.datapath = Path(args.datapath).resolve() + args.kernelpath = Path(args.kernelpath).resolve() + return args def run(command, verbose=False, shell=False, timeout=None): @@ -135,10 +140,10 @@ def main(args): src_path = os.path.join(args.datapath, 'data/tables') dest_path = os.path.join(os.getcwd(), 'tables-{}'.format(kver)) - cp_cmd = 'cp -r {} {}'.format(src_path, dest_path) + cp_cmd = 'cp -r {}/. {}'.format(src_path, dest_path) ret, out, err = run(cp_cmd, shell=True) if ret != 0: - raise RuntimeError('Table copy failed: {}'.format(ret)) + raise RuntimeError('Table copy failed: {}'.format(err)) if __name__ == '__main__': args = parse_args() From fe598f03d7d954ba94b74a7e93532f46611cfc46 Mon Sep 17 00:00:00 2001 From: "Tom Hromatka (Oracle)" Date: Mon, 13 Apr 2026 08:33:14 -0600 Subject: [PATCH 3/5] arch: Minor improvements to arch-update-syscalls-csv.py A few minor improvements to the script that updates the syscalls.csv file: * Remove file_getattr() and file_setattr() from the ignored syscalls list * Properly initialize a new row (when a syscall is added) with PNR,SCMP_KV_UNDEF,... rather than PNR,PNR,... * Add support for release candidate kernels * Convert relative paths to absolute paths Signed-off-by: Tom Hromatka (Oracle) --- src/arch-update-syscalls-csv.py | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/src/arch-update-syscalls-csv.py b/src/arch-update-syscalls-csv.py index cd66759f..f97d3b40 100755 --- a/src/arch-update-syscalls-csv.py +++ b/src/arch-update-syscalls-csv.py @@ -21,6 +21,7 @@ # along with this library; if not, see . # +from pathlib import Path import subprocess import datetime import argparse @@ -36,7 +37,7 @@ ignore_syscall_list = [ 'arc_gettls', 'arc_settls', 'arc_usr_cmpxchg', 'bfin_spinlock', 'cache_sync', 'clone2', 'cmpxchg_badaddr', 'dipc', 'dma_memcpy', - 'exec_with_loader', 'execv', 'file_getattr', 'file_setattr', + 'exec_with_loader', 'execv', 'flush_cache', 'fp_udfiex_crtl', 'getdomainname', 'getdtablesize', 'gethostname', 'getunwind', 'getxgid', 'getxpid', 'getxuid', 'kern_features', 'llseek', 'madvise1', 'memory_ordering', 'metag_get_tls', @@ -79,6 +80,10 @@ def parse_args(): args = parser.parse_args() args.versions = args.versions.split(',') + # Convert to absolute paths + args.datapath = Path(args.datapath).resolve() + args.kernelpath = Path(args.kernelpath).resolve() + return args def run(command, verbose=False, shell=False, timeout=None): @@ -182,18 +187,25 @@ def parse_syscalls_csv(args): def insert_new_syscall(syscalls, syscall_name, column_cnt): inserted = False + new_row = list() + + for i in range(0, column_cnt): + if (i % 2) == 0: + new_row.append('PNR') + else: + new_row.append('SCMP_KV_UNDEF') for syscall in syscalls: if syscall_name < syscall: idx = list(syscalls.keys()).index(syscall) syscalls_list = list(syscalls.items()) - syscalls_list.insert(idx, (syscall_name, ['PNR'] * column_cnt)) + syscalls_list.insert(idx, (syscall_name, new_row)) syscalls = dict(syscalls_list) inserted = True break if not inserted: - syscalls[syscall_name] = ['PNR'] * column_cnt + syscalls[syscall_name] = new_row return syscalls @@ -290,8 +302,15 @@ def update_syscalls_dict(args, columns, syscalls, kver): format(syscall_name, column, kver)) syscalls[syscall_name][col_idx] = str(syscall_num) - maj = kver.split('.')[0] - mnr = kver.split('.')[1] + + if kver.find('-rc') > 0: + # Remove trailing release candidate tags + tmp_kver = kver.split('-')[0] + else: + tmp_kver = kver + + maj = tmp_kver.split('.')[0] + mnr = tmp_kver.split('.')[1] syscalls[syscall_name][col_idx + 1] = \ 'SCMP_KV_{}_{}'.format(maj, mnr) From a6b1840eb8f2fc285a108d3ffe26e9397250bc71 Mon Sep 17 00:00:00 2001 From: "Tom Hromatka (Oracle)" Date: Mon, 13 Apr 2026 13:40:30 -0600 Subject: [PATCH 4/5] syscalls: Update syscalls for kernels v6.14 through v7.0-rc7 Signed-off-by: Tom Hromatka (Oracle) --- include/seccomp-syscalls.h | 18 ++++++++++++++++++ src/syscalls.csv | 12 +++++++++--- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/include/seccomp-syscalls.h b/include/seccomp-syscalls.h index b71f888c..670cf898 100644 --- a/include/seccomp-syscalls.h +++ b/include/seccomp-syscalls.h @@ -283,6 +283,9 @@ #define __PNR_getpagesize -10249 #define __PNR_riscv_hwprobe -10250 #define __PNR_uretprobe -10251 +#define __PNR_uprobe -10252 +#define __PNR_rseq_slice_yield -10253 +#define __PNR_listns -10254 /* * libseccomp syscall definitions @@ -648,6 +651,9 @@ #define __SNR_fgetxattr __NR_fgetxattr +#define __SNR_file_getattr __NR_file_getattr +#define __SNR_file_setattr __NR_file_setattr + #define __SNR_finit_module __NR_finit_module #define __SNR_flistxattr __NR_flistxattr @@ -1082,6 +1088,8 @@ #define __SNR_listmount __NR_listmount +#define __SNR_listns __NR_listns + #define __SNR_listxattr __NR_listxattr #define __SNR_listxattrat __NR_listxattrat @@ -1356,6 +1364,8 @@ #define __SNR_open_tree __PNR_open_tree #endif +#define __SNR_open_tree_attr __NR_open_tree_attr + #define __SNR_openat __NR_openat #define __SNR_openat2 __NR_openat2 @@ -1614,6 +1624,8 @@ #define __SNR_rseq __PNR_rseq #endif +#define __SNR_rseq_slice_yield __NR_rseq_slice_yield + #define __SNR_rt_sigaction __NR_rt_sigaction #define __SNR_rt_sigpending __NR_rt_sigpending @@ -2304,6 +2316,12 @@ #define __SNR_unshare __NR_unshare +#ifdef __NR_uprobe +#define __SNR_uprobe __NR_uprobe +#else +#define __SNR_uprobe __PNR_uprobe +#endif + #ifdef __NR_uretprobe #define __SNR_uretprobe __NR_uretprobe #else diff --git a/src/syscalls.csv b/src/syscalls.csv index 9d04ada3..b22f6935 100644 --- a/src/syscalls.csv +++ b/src/syscalls.csv @@ -1,4 +1,4 @@ -#syscall (v6.13.0 2025-01-23),x86,x86_kver,x86_64,x86_64_kver,x32,x32_kver,arm,arm_kver,aarch64,aarch64_kver,loongarch64,loongarch64_kver,m68k,m68k_kver,mips,mips_kver,mips64,mips64_kver,mips64n32,mips64n32_kver,parisc,parisc_kver,parisc64,parisc64_kver,ppc,ppc_kver,ppc64,ppc64_kver,riscv64,riscv64_kver,s390,s390_kver,s390x,s390x_kver,sh,sh_kver +#syscall (v7.0.0-rc7 2026-04-13),x86,x86_kver,x86_64,x86_64_kver,x32,x32_kver,arm,arm_kver,aarch64,aarch64_kver,loongarch64,loongarch64_kver,m68k,m68k_kver,mips,mips_kver,mips64,mips64_kver,mips64n32,mips64n32_kver,parisc,parisc_kver,parisc64,parisc64_kver,ppc,ppc_kver,ppc64,ppc64_kver,riscv64,riscv64_kver,s390,s390_kver,s390x,s390x_kver,sh,sh_kver accept,PNR,SCMP_KV_UNDEF,43,SCMP_KV_UNDEF,43,SCMP_KV_UNDEF,285,SCMP_KV_UNDEF,202,SCMP_KV_UNDEF,202,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,168,SCMP_KV_UNDEF,42,SCMP_KV_UNDEF,42,SCMP_KV_UNDEF,35,SCMP_KV_UNDEF,35,SCMP_KV_UNDEF,330,SCMP_KV_UNDEF,330,SCMP_KV_UNDEF,202,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,344,SCMP_KV_UNDEF accept4,364,SCMP_KV_UNDEF,288,SCMP_KV_UNDEF,288,SCMP_KV_UNDEF,366,SCMP_KV_UNDEF,242,SCMP_KV_UNDEF,242,SCMP_KV_UNDEF,361,SCMP_KV_UNDEF,334,SCMP_KV_UNDEF,293,SCMP_KV_UNDEF,297,SCMP_KV_UNDEF,320,SCMP_KV_UNDEF,320,SCMP_KV_UNDEF,344,SCMP_KV_UNDEF,344,SCMP_KV_UNDEF,242,SCMP_KV_UNDEF,364,SCMP_KV_UNDEF,364,SCMP_KV_UNDEF,358,SCMP_KV_UNDEF access,33,SCMP_KV_UNDEF,21,SCMP_KV_UNDEF,21,SCMP_KV_UNDEF,33,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,33,SCMP_KV_UNDEF,33,SCMP_KV_UNDEF,20,SCMP_KV_UNDEF,20,SCMP_KV_UNDEF,33,SCMP_KV_UNDEF,33,SCMP_KV_UNDEF,33,SCMP_KV_UNDEF,33,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,33,SCMP_KV_UNDEF,33,SCMP_KV_UNDEF,33,SCMP_KV_UNDEF @@ -82,6 +82,8 @@ fcntl,55,SCMP_KV_UNDEF,72,SCMP_KV_UNDEF,72,SCMP_KV_UNDEF,55,SCMP_KV_UNDEF,25,SCM fcntl64,221,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,221,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,239,SCMP_KV_UNDEF,220,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,212,SCMP_KV_UNDEF,202,SCMP_KV_UNDEF,202,SCMP_KV_UNDEF,204,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,221,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,221,SCMP_KV_UNDEF fdatasync,148,SCMP_KV_UNDEF,75,SCMP_KV_UNDEF,75,SCMP_KV_UNDEF,148,SCMP_KV_UNDEF,83,SCMP_KV_UNDEF,83,SCMP_KV_UNDEF,148,SCMP_KV_UNDEF,152,SCMP_KV_UNDEF,73,SCMP_KV_UNDEF,73,SCMP_KV_UNDEF,148,SCMP_KV_UNDEF,148,SCMP_KV_UNDEF,148,SCMP_KV_UNDEF,148,SCMP_KV_UNDEF,83,SCMP_KV_UNDEF,148,SCMP_KV_UNDEF,148,SCMP_KV_UNDEF,148,SCMP_KV_UNDEF fgetxattr,231,SCMP_KV_UNDEF,193,SCMP_KV_UNDEF,193,SCMP_KV_UNDEF,231,SCMP_KV_UNDEF,10,SCMP_KV_UNDEF,10,SCMP_KV_UNDEF,228,SCMP_KV_UNDEF,229,SCMP_KV_UNDEF,185,SCMP_KV_UNDEF,185,SCMP_KV_UNDEF,243,SCMP_KV_UNDEF,243,SCMP_KV_UNDEF,214,SCMP_KV_UNDEF,214,SCMP_KV_UNDEF,10,SCMP_KV_UNDEF,229,SCMP_KV_UNDEF,229,SCMP_KV_UNDEF,231,SCMP_KV_UNDEF +file_getattr,468,SCMP_KV_UNDEF,468,SCMP_KV_UNDEF,468,SCMP_KV_UNDEF,468,SCMP_KV_UNDEF,468,SCMP_KV_UNDEF,468,SCMP_KV_UNDEF,468,SCMP_KV_UNDEF,468,SCMP_KV_UNDEF,468,SCMP_KV_UNDEF,468,SCMP_KV_UNDEF,468,SCMP_KV_UNDEF,468,SCMP_KV_UNDEF,468,SCMP_KV_UNDEF,468,SCMP_KV_UNDEF,468,SCMP_KV_UNDEF,468,SCMP_KV_UNDEF,468,SCMP_KV_UNDEF,468,SCMP_KV_UNDEF +file_setattr,469,SCMP_KV_UNDEF,469,SCMP_KV_UNDEF,469,SCMP_KV_UNDEF,469,SCMP_KV_UNDEF,469,SCMP_KV_UNDEF,469,SCMP_KV_UNDEF,469,SCMP_KV_UNDEF,469,SCMP_KV_UNDEF,469,SCMP_KV_UNDEF,469,SCMP_KV_UNDEF,469,SCMP_KV_UNDEF,469,SCMP_KV_UNDEF,469,SCMP_KV_UNDEF,469,SCMP_KV_UNDEF,469,SCMP_KV_UNDEF,469,SCMP_KV_UNDEF,469,SCMP_KV_UNDEF,469,SCMP_KV_UNDEF finit_module,350,SCMP_KV_UNDEF,313,SCMP_KV_UNDEF,313,SCMP_KV_UNDEF,379,SCMP_KV_UNDEF,273,SCMP_KV_UNDEF,273,SCMP_KV_UNDEF,348,SCMP_KV_UNDEF,348,SCMP_KV_UNDEF,307,SCMP_KV_UNDEF,312,SCMP_KV_UNDEF,333,SCMP_KV_UNDEF,333,SCMP_KV_UNDEF,353,SCMP_KV_UNDEF,353,SCMP_KV_UNDEF,273,SCMP_KV_UNDEF,344,SCMP_KV_UNDEF,344,SCMP_KV_UNDEF,368,SCMP_KV_UNDEF flistxattr,234,SCMP_KV_UNDEF,196,SCMP_KV_UNDEF,196,SCMP_KV_UNDEF,234,SCMP_KV_UNDEF,13,SCMP_KV_UNDEF,13,SCMP_KV_UNDEF,231,SCMP_KV_UNDEF,232,SCMP_KV_UNDEF,188,SCMP_KV_UNDEF,188,SCMP_KV_UNDEF,246,SCMP_KV_UNDEF,246,SCMP_KV_UNDEF,217,SCMP_KV_UNDEF,217,SCMP_KV_UNDEF,13,SCMP_KV_UNDEF,232,SCMP_KV_UNDEF,232,SCMP_KV_UNDEF,234,SCMP_KV_UNDEF flock,143,SCMP_KV_UNDEF,73,SCMP_KV_UNDEF,73,SCMP_KV_UNDEF,143,SCMP_KV_UNDEF,32,SCMP_KV_UNDEF,32,SCMP_KV_UNDEF,143,SCMP_KV_UNDEF,143,SCMP_KV_UNDEF,71,SCMP_KV_UNDEF,71,SCMP_KV_UNDEF,143,SCMP_KV_UNDEF,143,SCMP_KV_UNDEF,143,SCMP_KV_UNDEF,143,SCMP_KV_UNDEF,32,SCMP_KV_UNDEF,143,SCMP_KV_UNDEF,143,SCMP_KV_UNDEF,143,SCMP_KV_UNDEF @@ -188,6 +190,7 @@ link,9,SCMP_KV_UNDEF,86,SCMP_KV_UNDEF,86,SCMP_KV_UNDEF,9,SCMP_KV_UNDEF,PNR,SCMP_ linkat,303,SCMP_KV_UNDEF,265,SCMP_KV_UNDEF,265,SCMP_KV_UNDEF,330,SCMP_KV_UNDEF,37,SCMP_KV_UNDEF,37,SCMP_KV_UNDEF,296,SCMP_KV_UNDEF,296,SCMP_KV_UNDEF,255,SCMP_KV_UNDEF,259,SCMP_KV_UNDEF,283,SCMP_KV_UNDEF,283,SCMP_KV_UNDEF,294,SCMP_KV_UNDEF,294,SCMP_KV_UNDEF,37,SCMP_KV_UNDEF,296,SCMP_KV_UNDEF,296,SCMP_KV_UNDEF,303,SCMP_KV_UNDEF listen,363,SCMP_KV_UNDEF,50,SCMP_KV_UNDEF,50,SCMP_KV_UNDEF,284,SCMP_KV_UNDEF,201,SCMP_KV_UNDEF,201,SCMP_KV_UNDEF,360,SCMP_KV_UNDEF,174,SCMP_KV_UNDEF,49,SCMP_KV_UNDEF,49,SCMP_KV_UNDEF,32,SCMP_KV_UNDEF,32,SCMP_KV_UNDEF,329,SCMP_KV_UNDEF,329,SCMP_KV_UNDEF,201,SCMP_KV_UNDEF,363,SCMP_KV_UNDEF,363,SCMP_KV_UNDEF,343,SCMP_KV_UNDEF listmount,458,SCMP_KV_UNDEF,458,SCMP_KV_UNDEF,458,SCMP_KV_UNDEF,458,SCMP_KV_UNDEF,458,SCMP_KV_UNDEF,458,SCMP_KV_UNDEF,458,SCMP_KV_UNDEF,458,SCMP_KV_UNDEF,458,SCMP_KV_UNDEF,458,SCMP_KV_UNDEF,458,SCMP_KV_UNDEF,458,SCMP_KV_UNDEF,458,SCMP_KV_UNDEF,458,SCMP_KV_UNDEF,458,SCMP_KV_UNDEF,458,SCMP_KV_UNDEF,458,SCMP_KV_UNDEF,458,SCMP_KV_UNDEF +listns,470,SCMP_KV_UNDEF,470,SCMP_KV_UNDEF,470,SCMP_KV_UNDEF,470,SCMP_KV_UNDEF,470,SCMP_KV_UNDEF,470,SCMP_KV_UNDEF,470,SCMP_KV_UNDEF,470,SCMP_KV_UNDEF,470,SCMP_KV_UNDEF,470,SCMP_KV_UNDEF,470,SCMP_KV_UNDEF,470,SCMP_KV_UNDEF,470,SCMP_KV_UNDEF,470,SCMP_KV_UNDEF,470,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,470,SCMP_KV_UNDEF,470,SCMP_KV_UNDEF listxattr,232,SCMP_KV_UNDEF,194,SCMP_KV_UNDEF,194,SCMP_KV_UNDEF,232,SCMP_KV_UNDEF,11,SCMP_KV_UNDEF,11,SCMP_KV_UNDEF,229,SCMP_KV_UNDEF,230,SCMP_KV_UNDEF,186,SCMP_KV_UNDEF,186,SCMP_KV_UNDEF,244,SCMP_KV_UNDEF,244,SCMP_KV_UNDEF,215,SCMP_KV_UNDEF,215,SCMP_KV_UNDEF,11,SCMP_KV_UNDEF,230,SCMP_KV_UNDEF,230,SCMP_KV_UNDEF,232,SCMP_KV_UNDEF listxattrat,465,SCMP_KV_UNDEF,465,SCMP_KV_UNDEF,465,SCMP_KV_UNDEF,465,SCMP_KV_UNDEF,465,SCMP_KV_UNDEF,465,SCMP_KV_UNDEF,465,SCMP_KV_UNDEF,465,SCMP_KV_UNDEF,465,SCMP_KV_UNDEF,465,SCMP_KV_UNDEF,465,SCMP_KV_UNDEF,465,SCMP_KV_UNDEF,465,SCMP_KV_UNDEF,465,SCMP_KV_UNDEF,465,SCMP_KV_UNDEF,465,SCMP_KV_UNDEF,465,SCMP_KV_UNDEF,465,SCMP_KV_UNDEF llistxattr,233,SCMP_KV_UNDEF,195,SCMP_KV_UNDEF,195,SCMP_KV_UNDEF,233,SCMP_KV_UNDEF,12,SCMP_KV_UNDEF,12,SCMP_KV_UNDEF,230,SCMP_KV_UNDEF,231,SCMP_KV_UNDEF,187,SCMP_KV_UNDEF,187,SCMP_KV_UNDEF,245,SCMP_KV_UNDEF,245,SCMP_KV_UNDEF,216,SCMP_KV_UNDEF,216,SCMP_KV_UNDEF,12,SCMP_KV_UNDEF,231,SCMP_KV_UNDEF,231,SCMP_KV_UNDEF,233,SCMP_KV_UNDEF @@ -207,7 +210,7 @@ map_shadow_stack,453,SCMP_KV_UNDEF,453,SCMP_KV_UNDEF,453,SCMP_KV_UNDEF,453,SCMP_ mbind,274,SCMP_KV_UNDEF,237,SCMP_KV_UNDEF,237,SCMP_KV_UNDEF,319,SCMP_KV_UNDEF,235,SCMP_KV_UNDEF,235,SCMP_KV_UNDEF,268,SCMP_KV_UNDEF,268,SCMP_KV_UNDEF,227,SCMP_KV_UNDEF,231,SCMP_KV_UNDEF,260,SCMP_KV_UNDEF,260,SCMP_KV_UNDEF,259,SCMP_KV_UNDEF,259,SCMP_KV_UNDEF,235,SCMP_KV_UNDEF,268,SCMP_KV_UNDEF,268,SCMP_KV_UNDEF,274,SCMP_KV_UNDEF membarrier,375,SCMP_KV_UNDEF,324,SCMP_KV_UNDEF,324,SCMP_KV_UNDEF,389,SCMP_KV_UNDEF,283,SCMP_KV_UNDEF,283,SCMP_KV_UNDEF,374,SCMP_KV_UNDEF,358,SCMP_KV_UNDEF,318,SCMP_KV_UNDEF,322,SCMP_KV_UNDEF,343,SCMP_KV_UNDEF,343,SCMP_KV_UNDEF,365,SCMP_KV_UNDEF,365,SCMP_KV_UNDEF,283,SCMP_KV_UNDEF,356,SCMP_KV_UNDEF,356,SCMP_KV_UNDEF,378,SCMP_KV_UNDEF memfd_create,356,SCMP_KV_UNDEF,319,SCMP_KV_UNDEF,319,SCMP_KV_UNDEF,385,SCMP_KV_UNDEF,279,SCMP_KV_UNDEF,279,SCMP_KV_UNDEF,353,SCMP_KV_UNDEF,354,SCMP_KV_UNDEF,314,SCMP_KV_UNDEF,318,SCMP_KV_UNDEF,340,SCMP_KV_UNDEF,340,SCMP_KV_UNDEF,360,SCMP_KV_UNDEF,360,SCMP_KV_UNDEF,279,SCMP_KV_UNDEF,350,SCMP_KV_UNDEF,350,SCMP_KV_UNDEF,374,SCMP_KV_UNDEF -memfd_secret,447,SCMP_KV_UNDEF,447,SCMP_KV_UNDEF,447,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,447,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,447,SCMP_KV_UNDEF,447,SCMP_KV_UNDEF,447,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF +memfd_secret,447,SCMP_KV_UNDEF,447,SCMP_KV_UNDEF,447,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,447,SCMP_KV_UNDEF,447,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,447,SCMP_KV_UNDEF,447,SCMP_KV_UNDEF,447,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF migrate_pages,294,SCMP_KV_UNDEF,256,SCMP_KV_UNDEF,256,SCMP_KV_UNDEF,400,SCMP_KV_UNDEF,238,SCMP_KV_UNDEF,238,SCMP_KV_UNDEF,287,SCMP_KV_UNDEF,287,SCMP_KV_UNDEF,246,SCMP_KV_UNDEF,250,SCMP_KV_UNDEF,272,SCMP_KV_UNDEF,272,SCMP_KV_UNDEF,258,SCMP_KV_UNDEF,258,SCMP_KV_UNDEF,238,SCMP_KV_UNDEF,287,SCMP_KV_UNDEF,287,SCMP_KV_UNDEF,294,SCMP_KV_UNDEF mincore,218,SCMP_KV_UNDEF,27,SCMP_KV_UNDEF,27,SCMP_KV_UNDEF,219,SCMP_KV_UNDEF,232,SCMP_KV_UNDEF,232,SCMP_KV_UNDEF,237,SCMP_KV_UNDEF,217,SCMP_KV_UNDEF,26,SCMP_KV_UNDEF,26,SCMP_KV_UNDEF,72,SCMP_KV_UNDEF,72,SCMP_KV_UNDEF,206,SCMP_KV_UNDEF,206,SCMP_KV_UNDEF,232,SCMP_KV_UNDEF,218,SCMP_KV_UNDEF,218,SCMP_KV_UNDEF,218,SCMP_KV_UNDEF mkdir,39,SCMP_KV_UNDEF,83,SCMP_KV_UNDEF,83,SCMP_KV_UNDEF,39,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,39,SCMP_KV_UNDEF,39,SCMP_KV_UNDEF,81,SCMP_KV_UNDEF,81,SCMP_KV_UNDEF,39,SCMP_KV_UNDEF,39,SCMP_KV_UNDEF,39,SCMP_KV_UNDEF,39,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,39,SCMP_KV_UNDEF,39,SCMP_KV_UNDEF,39,SCMP_KV_UNDEF @@ -257,6 +260,7 @@ oldolduname,59,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UND oldstat,18,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,18,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,18,SCMP_KV_UNDEF,18,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,18,SCMP_KV_UNDEF olduname,109,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,109,SCMP_KV_UNDEF,109,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,109,SCMP_KV_UNDEF open,5,SCMP_KV_UNDEF,2,SCMP_KV_UNDEF,2,SCMP_KV_UNDEF,5,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,5,SCMP_KV_UNDEF,5,SCMP_KV_UNDEF,2,SCMP_KV_UNDEF,2,SCMP_KV_UNDEF,5,SCMP_KV_UNDEF,5,SCMP_KV_UNDEF,5,SCMP_KV_UNDEF,5,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,5,SCMP_KV_UNDEF,5,SCMP_KV_UNDEF,5,SCMP_KV_UNDEF +open_tree_attr,467,SCMP_KV_UNDEF,467,SCMP_KV_UNDEF,467,SCMP_KV_UNDEF,467,SCMP_KV_UNDEF,467,SCMP_KV_UNDEF,467,SCMP_KV_UNDEF,467,SCMP_KV_UNDEF,467,SCMP_KV_UNDEF,467,SCMP_KV_UNDEF,467,SCMP_KV_UNDEF,467,SCMP_KV_UNDEF,467,SCMP_KV_UNDEF,467,SCMP_KV_UNDEF,467,SCMP_KV_UNDEF,467,SCMP_KV_UNDEF,467,SCMP_KV_UNDEF,467,SCMP_KV_UNDEF,467,SCMP_KV_UNDEF openat,295,SCMP_KV_UNDEF,257,SCMP_KV_UNDEF,257,SCMP_KV_UNDEF,322,SCMP_KV_UNDEF,56,SCMP_KV_UNDEF,56,SCMP_KV_UNDEF,288,SCMP_KV_UNDEF,288,SCMP_KV_UNDEF,247,SCMP_KV_UNDEF,251,SCMP_KV_UNDEF,275,SCMP_KV_UNDEF,275,SCMP_KV_UNDEF,286,SCMP_KV_UNDEF,286,SCMP_KV_UNDEF,56,SCMP_KV_UNDEF,288,SCMP_KV_UNDEF,288,SCMP_KV_UNDEF,295,SCMP_KV_UNDEF openat2,437,SCMP_KV_UNDEF,437,SCMP_KV_UNDEF,437,SCMP_KV_UNDEF,437,SCMP_KV_UNDEF,437,SCMP_KV_UNDEF,437,SCMP_KV_UNDEF,437,SCMP_KV_UNDEF,437,SCMP_KV_UNDEF,437,SCMP_KV_UNDEF,437,SCMP_KV_UNDEF,437,SCMP_KV_UNDEF,437,SCMP_KV_UNDEF,437,SCMP_KV_UNDEF,437,SCMP_KV_UNDEF,437,SCMP_KV_UNDEF,437,SCMP_KV_UNDEF,437,SCMP_KV_UNDEF,437,SCMP_KV_UNDEF open_by_handle_at,342,SCMP_KV_UNDEF,304,SCMP_KV_UNDEF,304,SCMP_KV_UNDEF,371,SCMP_KV_UNDEF,265,SCMP_KV_UNDEF,265,SCMP_KV_UNDEF,341,SCMP_KV_UNDEF,340,SCMP_KV_UNDEF,299,SCMP_KV_UNDEF,304,SCMP_KV_UNDEF,326,SCMP_KV_UNDEF,326,SCMP_KV_UNDEF,346,SCMP_KV_UNDEF,346,SCMP_KV_UNDEF,265,SCMP_KV_UNDEF,336,SCMP_KV_UNDEF,336,SCMP_KV_UNDEF,360,SCMP_KV_UNDEF @@ -324,6 +328,7 @@ riscv_flush_icache,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCM riscv_hwprobe,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,258,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF rmdir,40,SCMP_KV_UNDEF,84,SCMP_KV_UNDEF,84,SCMP_KV_UNDEF,40,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,40,SCMP_KV_UNDEF,40,SCMP_KV_UNDEF,82,SCMP_KV_UNDEF,82,SCMP_KV_UNDEF,40,SCMP_KV_UNDEF,40,SCMP_KV_UNDEF,40,SCMP_KV_UNDEF,40,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,40,SCMP_KV_UNDEF,40,SCMP_KV_UNDEF,40,SCMP_KV_UNDEF rseq,386,SCMP_KV_UNDEF,334,SCMP_KV_UNDEF,334,SCMP_KV_UNDEF,398,SCMP_KV_UNDEF,293,SCMP_KV_UNDEF,293,SCMP_KV_UNDEF,384,SCMP_KV_UNDEF,367,SCMP_KV_UNDEF,327,SCMP_KV_UNDEF,331,SCMP_KV_UNDEF,354,SCMP_KV_UNDEF,354,SCMP_KV_UNDEF,387,SCMP_KV_UNDEF,387,SCMP_KV_UNDEF,293,SCMP_KV_UNDEF,383,SCMP_KV_UNDEF,383,SCMP_KV_UNDEF,387,SCMP_KV_UNDEF +rseq_slice_yield,471,SCMP_KV_UNDEF,471,SCMP_KV_UNDEF,471,SCMP_KV_UNDEF,471,SCMP_KV_UNDEF,471,SCMP_KV_UNDEF,471,SCMP_KV_UNDEF,471,SCMP_KV_UNDEF,471,SCMP_KV_UNDEF,471,SCMP_KV_UNDEF,471,SCMP_KV_UNDEF,471,SCMP_KV_UNDEF,471,SCMP_KV_UNDEF,471,SCMP_KV_UNDEF,471,SCMP_KV_UNDEF,471,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,471,SCMP_KV_UNDEF,471,SCMP_KV_UNDEF rtas,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,255,SCMP_KV_UNDEF,255,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF rt_sigaction,174,SCMP_KV_UNDEF,13,SCMP_KV_UNDEF,512,SCMP_KV_UNDEF,174,SCMP_KV_UNDEF,134,SCMP_KV_UNDEF,134,SCMP_KV_UNDEF,174,SCMP_KV_UNDEF,194,SCMP_KV_UNDEF,13,SCMP_KV_UNDEF,13,SCMP_KV_UNDEF,174,SCMP_KV_UNDEF,174,SCMP_KV_UNDEF,173,SCMP_KV_UNDEF,173,SCMP_KV_UNDEF,134,SCMP_KV_UNDEF,174,SCMP_KV_UNDEF,174,SCMP_KV_UNDEF,174,SCMP_KV_UNDEF rt_sigpending,176,SCMP_KV_UNDEF,127,SCMP_KV_UNDEF,522,SCMP_KV_UNDEF,176,SCMP_KV_UNDEF,136,SCMP_KV_UNDEF,136,SCMP_KV_UNDEF,176,SCMP_KV_UNDEF,196,SCMP_KV_UNDEF,125,SCMP_KV_UNDEF,125,SCMP_KV_UNDEF,176,SCMP_KV_UNDEF,176,SCMP_KV_UNDEF,175,SCMP_KV_UNDEF,175,SCMP_KV_UNDEF,136,SCMP_KV_UNDEF,176,SCMP_KV_UNDEF,176,SCMP_KV_UNDEF,176,SCMP_KV_UNDEF @@ -441,7 +446,7 @@ symlink,83,SCMP_KV_UNDEF,88,SCMP_KV_UNDEF,88,SCMP_KV_UNDEF,83,SCMP_KV_UNDEF,PNR, symlinkat,304,SCMP_KV_UNDEF,266,SCMP_KV_UNDEF,266,SCMP_KV_UNDEF,331,SCMP_KV_UNDEF,36,SCMP_KV_UNDEF,36,SCMP_KV_UNDEF,297,SCMP_KV_UNDEF,297,SCMP_KV_UNDEF,256,SCMP_KV_UNDEF,260,SCMP_KV_UNDEF,284,SCMP_KV_UNDEF,284,SCMP_KV_UNDEF,295,SCMP_KV_UNDEF,295,SCMP_KV_UNDEF,36,SCMP_KV_UNDEF,297,SCMP_KV_UNDEF,297,SCMP_KV_UNDEF,304,SCMP_KV_UNDEF sync,36,SCMP_KV_UNDEF,162,SCMP_KV_UNDEF,162,SCMP_KV_UNDEF,36,SCMP_KV_UNDEF,81,SCMP_KV_UNDEF,81,SCMP_KV_UNDEF,36,SCMP_KV_UNDEF,36,SCMP_KV_UNDEF,157,SCMP_KV_UNDEF,157,SCMP_KV_UNDEF,36,SCMP_KV_UNDEF,36,SCMP_KV_UNDEF,36,SCMP_KV_UNDEF,36,SCMP_KV_UNDEF,81,SCMP_KV_UNDEF,36,SCMP_KV_UNDEF,36,SCMP_KV_UNDEF,36,SCMP_KV_UNDEF sync_file_range,314,SCMP_KV_UNDEF,277,SCMP_KV_UNDEF,277,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,84,SCMP_KV_UNDEF,84,SCMP_KV_UNDEF,307,SCMP_KV_UNDEF,305,SCMP_KV_UNDEF,264,SCMP_KV_UNDEF,268,SCMP_KV_UNDEF,292,SCMP_KV_UNDEF,292,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,84,SCMP_KV_UNDEF,307,SCMP_KV_UNDEF,307,SCMP_KV_UNDEF,314,SCMP_KV_UNDEF -sync_file_range2,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,308,SCMP_KV_UNDEF,308,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,388,SCMP_KV_UNDEF +sync_file_range2,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,341,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,308,SCMP_KV_UNDEF,308,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,388,SCMP_KV_UNDEF syncfs,344,SCMP_KV_UNDEF,306,SCMP_KV_UNDEF,306,SCMP_KV_UNDEF,373,SCMP_KV_UNDEF,267,SCMP_KV_UNDEF,267,SCMP_KV_UNDEF,343,SCMP_KV_UNDEF,342,SCMP_KV_UNDEF,301,SCMP_KV_UNDEF,306,SCMP_KV_UNDEF,327,SCMP_KV_UNDEF,327,SCMP_KV_UNDEF,348,SCMP_KV_UNDEF,348,SCMP_KV_UNDEF,267,SCMP_KV_UNDEF,338,SCMP_KV_UNDEF,338,SCMP_KV_UNDEF,362,SCMP_KV_UNDEF syscall,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,0,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF _sysctl,149,SCMP_KV_UNDEF,156,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,149,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,149,SCMP_KV_UNDEF,153,SCMP_KV_UNDEF,152,SCMP_KV_UNDEF,152,SCMP_KV_UNDEF,149,SCMP_KV_UNDEF,149,SCMP_KV_UNDEF,149,SCMP_KV_UNDEF,149,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,149,SCMP_KV_UNDEF,149,SCMP_KV_UNDEF,149,SCMP_KV_UNDEF @@ -480,6 +485,7 @@ uname,122,SCMP_KV_UNDEF,63,SCMP_KV_UNDEF,63,SCMP_KV_UNDEF,122,SCMP_KV_UNDEF,160, unlink,10,SCMP_KV_UNDEF,87,SCMP_KV_UNDEF,87,SCMP_KV_UNDEF,10,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,10,SCMP_KV_UNDEF,10,SCMP_KV_UNDEF,85,SCMP_KV_UNDEF,85,SCMP_KV_UNDEF,10,SCMP_KV_UNDEF,10,SCMP_KV_UNDEF,10,SCMP_KV_UNDEF,10,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,10,SCMP_KV_UNDEF,10,SCMP_KV_UNDEF,10,SCMP_KV_UNDEF unlinkat,301,SCMP_KV_UNDEF,263,SCMP_KV_UNDEF,263,SCMP_KV_UNDEF,328,SCMP_KV_UNDEF,35,SCMP_KV_UNDEF,35,SCMP_KV_UNDEF,294,SCMP_KV_UNDEF,294,SCMP_KV_UNDEF,253,SCMP_KV_UNDEF,257,SCMP_KV_UNDEF,281,SCMP_KV_UNDEF,281,SCMP_KV_UNDEF,292,SCMP_KV_UNDEF,292,SCMP_KV_UNDEF,35,SCMP_KV_UNDEF,294,SCMP_KV_UNDEF,294,SCMP_KV_UNDEF,301,SCMP_KV_UNDEF unshare,310,SCMP_KV_UNDEF,272,SCMP_KV_UNDEF,272,SCMP_KV_UNDEF,337,SCMP_KV_UNDEF,97,SCMP_KV_UNDEF,97,SCMP_KV_UNDEF,303,SCMP_KV_UNDEF,303,SCMP_KV_UNDEF,262,SCMP_KV_UNDEF,266,SCMP_KV_UNDEF,288,SCMP_KV_UNDEF,288,SCMP_KV_UNDEF,282,SCMP_KV_UNDEF,282,SCMP_KV_UNDEF,97,SCMP_KV_UNDEF,303,SCMP_KV_UNDEF,303,SCMP_KV_UNDEF,310,SCMP_KV_UNDEF +uprobe,PNR,SCMP_KV_UNDEF,336,SCMP_KV_UNDEF,336,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF uretprobe,PNR,SCMP_KV_UNDEF,335,SCMP_KV_UNDEF,335,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF uselib,86,SCMP_KV_UNDEF,134,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,86,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,86,SCMP_KV_UNDEF,86,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,86,SCMP_KV_UNDEF,86,SCMP_KV_UNDEF,86,SCMP_KV_UNDEF,86,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,86,SCMP_KV_UNDEF,86,SCMP_KV_UNDEF,86,SCMP_KV_UNDEF userfaultfd,374,SCMP_KV_UNDEF,323,SCMP_KV_UNDEF,323,SCMP_KV_UNDEF,388,SCMP_KV_UNDEF,282,SCMP_KV_UNDEF,282,SCMP_KV_UNDEF,373,SCMP_KV_UNDEF,357,SCMP_KV_UNDEF,317,SCMP_KV_UNDEF,321,SCMP_KV_UNDEF,344,SCMP_KV_UNDEF,344,SCMP_KV_UNDEF,364,SCMP_KV_UNDEF,364,SCMP_KV_UNDEF,282,SCMP_KV_UNDEF,355,SCMP_KV_UNDEF,355,SCMP_KV_UNDEF,377,SCMP_KV_UNDEF From 309154294ebc69d50668e8fceb2790123726a7d1 Mon Sep 17 00:00:00 2001 From: "Tom Hromatka (Oracle)" Date: Tue, 14 Apr 2026 14:09:06 -0600 Subject: [PATCH 5/5] doc: Add documentation for updating syscalls.csv Add documentation on how to update syscalls.csv. NOTE - since we haven't fully converted syscalls.csv over to containing valid kernel version numbers, I have intentionally set all kernel version fields to SCMP_KV_UNDEF. We'll update the kernel versions in pull request #457. Here are the exact steps and results for updating syscalls.csv to kernels v6.14 through v7.0-rc7 $ apt install libc6-dev-x32 $ git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git $ git clone https://github.com/hrw/syscalls-table.git $ git clone git@github.com:/libseccomp.git $ cd libseccomp $ vim include/seccomp-kvers.h --> add new syscall enumerations $ time ./src/arch-build-kver-tables.py -d ../syscalls-table -k ../linux -V 6.14,6.15,6.16,6.17,6.18,6.19,7.0-rc7 Building version table for kernel 6.14 Building version table for kernel 6.15 Building version table for kernel 6.16 Building version table for kernel 6.17 Building version table for kernel 6.18 Building version table for kernel 6.19 Building version table for kernel 7.0-rc7 real 2m47.672s user 1m22.094s sys 1m23.954s $ time ./src/arch-update-syscalls-csv.py -a -d ./ -k ../linux -c src/syscalls.csv -V 6.14,6.15,6.16,6.17,6.18,6.19,7.0-rc7 Updating src/syscalls.csv version table for kernel 6.14 Updating src/syscalls.csv version table for kernel 6.15 Updating src/syscalls.csv version table for kernel 6.16 Updating src/syscalls.csv version table for kernel 6.17 Updating src/syscalls.csv version table for kernel 6.18 Updating src/syscalls.csv version table for kernel 6.19 Updating src/syscalls.csv version table for kernel 7.0-rc7 real 0m30.112s user 0m20.716s sys 0m9.547s $ vim include-seccomp-syscalls.h --> add new syscall __SNR and __PNR entries as appropriate $ ./src/arch-syscall-check --> Make changes as recommended by this script --> Re-run this script until there are no more changes to be made $ cd src $ ./arch-syscall-validate -c syscalls-prev.csv ../../linux/ $ git diff HEAD syscalls.csv $ diff syscalls-prev.csv with syscalls.csv Signed-off-by: Tom Hromatka (Oracle) --- CONTRIBUTING.md | 99 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 350d3706..3beedd22 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -64,6 +64,105 @@ base, and can be enabled via the "--enable-code-coverage" configure flag and the "check-code-coverage" make target. Additional details on generating code coverage information can be found in the .travis.yml file. +## How to Update the syscalls.csv Table + +*** NOTE - This currently can only be done on Ubuntu *** + +1. Install dependencies + + In addition to the normal libseccomp package dependencies, the following + packages must also be installed: + ``` + apt install libc6-dev-x32 + ``` + +1. Download source packages + + Download the following source packages: + ``` + git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git + git clone https://github.com/hrw/syscalls-table.git + git clone git@github.com:/libseccomp.git + ``` + +1. Add new kernel version enumerations + + The first line of [src/syscalls.csv](https://github.com/seccomp/libseccomp/blob/main/src/syscalls.csv) + contains the newest kernel version known by libseccomp. Add new kernel + version enumerations to the end of the `enum scmp_kver` enumeration in + [seccomp-kvers.h](https://github.com/seccomp/libseccomp/blob/main/include/seccomp-kvers.h). + + Optional - Add new kernel versions to the `kernel_versions` list in + [arch-build-kver-tables.py](https://github.com/seccomp/libseccomp/blob/main/src/arch-build-kver-tables.py). + +1. Build the table(s) of architectures, syscalls, and syscall numbers + + Using the [syscalls-table](https://github.com/hrw/syscalls-table) tool, + build the tables of architectures, syscalls, and syscall numbers for the + new kernel versions. + + ``` + cd libseccomp + ./src/arch-build-kver-tables.py -d ../syscalls-table -k ../linux -V [Kernel Version(s)] + + # example: + ./src/arch-build-kver-tables.py -d ../syscalls-table -k ../linux -V 6.14,6.15,6.16,6.17,6.18,6.19,7.0-rc7 + ``` + +1. Add the tables to syscalls.csv + + Parse the tables generated in the previous step and add the data to + syscalls.csv. + + ``` + ./src/arch-update-syscalls-csv.py -a -d ./ -k ../linux -c src/syscalls.csv -V [Kernel Version(s)] + + # example + ./src/arch-update-syscalls-csv.py -a -d ./ -k ../linux -c src/syscalls.csv -V 6.14,6.15,6.16,6.17,6.18,6.19,7.0-rc7 + ``` + +1. Update seccomp-syscalls.h with new syscalls + + Run `cd src && ./arch-syscall-check` to determine if any new syscalls were + added and if they require __PNR and/or __SNR definitions. If this tool + identifies missing definitions, add them to + [include/seccomp-syscalls.h](https://github.com/seccomp/libseccomp/blob/main/include/seccomp-syscalls.h). [Here](https://github.com/seccomp/libseccomp/commit/f01e67509e45c672f4bdd643d94d90867cc19d90) + is an example of the syscalls that were added to kernel version v6.12. + + +1. Build the legacy syscalls.csv table (optional but recommended) + + Prior to tracking the kernel version where syscalls were added, libseccomp + employed internal tools to build the syscalls.csv table. These tools can + be used to validate the syscall numbers and their architectures. Note that + they cannot be used to validate the kernel version number. + + ``` + ./autogen.sh && ./configure --enable-python && make check-build + + cd src + make arch-syscall-dump + ./arch-syscall-validate -c syscalls-prev.csv ../../linux/ + ``` + +1. Compare CSVs + + Compare the checked-in (HEAD) CSV with the newly-generated syscalls.csv. + Verify the following: + * All new syscall names were properly added + * If a syscall number changed, it should only have transitioned from `PNR` + to a valid number. If a number changed for an architecture, verify that + its associated kernel version is correct + * No syscall rows were deleted + + If you built `syscalls-prev.csv` in the previous step, do the same comparisons + as outlined above. Again, note that `syscalls-prev.csv` does not contain + kernel version information, so only the syscall names, syscall numbers, and + architectures can be verified. + + There are many tools to compare CSVs. This [tool](https://www.textcompare.org/csv/) + has been especially useful. + ## Explain Your Work At the top of every patch you should include a description of the problem you