From ee204a2d3d0b5a2617097345abbf85c4fc0d8f26 Mon Sep 17 00:00:00 2001 From: Natanael Copa <ncopa@alpinelinux.org> Date: Sat, 25 Jan 2025 16:18:59 +0000 Subject: [PATCH] main/libseccomp: upgrade to 2.6.0 --- main/libseccomp/APKBUILD | 8 +- main/libseccomp/loongarch64.patch | 2365 ----------------------------- 2 files changed, 3 insertions(+), 2370 deletions(-) delete mode 100644 main/libseccomp/loongarch64.patch diff --git a/main/libseccomp/APKBUILD b/main/libseccomp/APKBUILD index b0e9879d5927..158e28497571 100644 --- a/main/libseccomp/APKBUILD +++ b/main/libseccomp/APKBUILD @@ -2,8 +2,8 @@ # Contributor: Carlo Landmeter <clandmeter@alpinelinux.org> # Contributor: Dan Williams <dan@ma.ssive.co> pkgname=libseccomp -pkgver=2.5.5 -pkgrel=2 +pkgver=2.6.0 +pkgrel=0 pkgdesc="interface to the Linux Kernel's syscall filtering mechanism" url="https://github.com/seccomp/libseccomp" arch="all" @@ -13,7 +13,6 @@ makedepends="$depends_dev gperf cython python3 python3-dev py3-setuptools autoco checkdepends="bash" subpackages="$pkgname-static $pkgname-dev $pkgname-doc py3-$pkgname:py3" source="https://github.com/seccomp/libseccomp/releases/download/v$pkgver/libseccomp-$pkgver.tar.gz - loongarch64.patch remove-redefinition-prctl.patch " @@ -65,7 +64,6 @@ py3() { } sha512sums=" -f630e7a7e53a21b7ccb4d3e7b37616b89aeceba916677c8e3032830411d77a14c2d74dcf594cd193b1acc11f52595072e28316dc44300e54083d5d7b314a38da libseccomp-2.5.5.tar.gz -2745c5154ee28e26f445e7c29b7fe199168a4c2375fd025b7f0cac4055c0354a2b46d3a5f17c4b98c71e6a97ab72ad4ef5783acad99b6a5e81c1a0144e2f190a loongarch64.patch +9039478656d9b670af2ff4cb67b6b1fa315821e59d2f82ba6247e988859ddc7e3d15fea159eccca161bf2890828bb62aa6ab4d6b7ff55f27a9d6bd9532eeee1b libseccomp-2.6.0.tar.gz f2c31dcafdc9a1ad78e32e76b75e1c1603071eaa3f979e1f2483b879a34ad07e0a4ef3642196a695415cdf81e1ed2bf325175872fb4e203ef9d0e668c287493f remove-redefinition-prctl.patch " diff --git a/main/libseccomp/loongarch64.patch b/main/libseccomp/loongarch64.patch deleted file mode 100644 index 98ee45cedf19..000000000000 --- a/main/libseccomp/loongarch64.patch +++ /dev/null @@ -1,2365 +0,0 @@ -diff --git a/README.md b/README.md -index e306512..7032802 100644 ---- a/README.md -+++ b/README.md -@@ -33,6 +33,7 @@ The libseccomp library currently supports the architectures listed below: - * 64-bit x86 x32 ABI (x32) - * 32-bit ARM EABI (arm) - * 64-bit ARM (aarch64) -+* 64-bit LoongArch (loongarch64) - * 32-bit MIPS (mips) - * 32-bit MIPS little endian (mipsel) - * 64-bit MIPS (mips64) -diff --git a/doc/man/man1/scmp_sys_resolver.1 b/doc/man/man1/scmp_sys_resolver.1 -index a223607..2a1597f 100644 ---- a/doc/man/man1/scmp_sys_resolver.1 -+++ b/doc/man/man1/scmp_sys_resolver.1 -@@ -34,9 +34,9 @@ special manner by libseccomp depending on the operation. - .B \-a \fIARCH - The architecture to use for resolving the system call. Valid - .I ARCH --values are "x86", "x86_64", "x32", "arm", "aarch64", "mips", "mipsel", "mips64", --"mipsel64", "mips64n32", "mipsel64n32", "parisc", "parisc64", "ppc", "ppc64", --"ppc64le", "s390" and "s390x". -+values are "x86", "x86_64", "x32", "arm", "aarch64", "loongarch64", "mips", -+"mipsel", "mips64", "mipsel64", "mips64n32", "mipsel64n32", "parisc", -+"parisc64", "ppc", "ppc64", "ppc64le", "s390" and "s390x". - .TP - .B \-t - If necessary, translate the system call name to the proper system call number, -diff --git a/include/seccomp-syscalls.h b/include/seccomp-syscalls.h -index 611c78d..3e18d74 100644 ---- a/include/seccomp-syscalls.h -+++ b/include/seccomp-syscalls.h -@@ -277,6 +277,12 @@ - #define __PNR_riscv_flush_icache -10243 - #define __PNR_memfd_secret -10244 - #define __PNR_map_shadow_stack -10245 -+#define __PNR_fstat -10246 -+#define __PNR_atomic_barrier -10247 -+#define __PNR_atomic_cmpxchg_32 -10248 -+#define __PNR_getpagesize -10249 -+#define __PNR_riscv_hwprobe -10250 -+#define __PNR_uretprobe -10251 - - /* - * libseccomp syscall definitions -@@ -1054,6 +1060,8 @@ - #define __SNR_listen __PNR_listen - #endif - -+#define __SNR_listmount __NR_listmount -+ - #define __SNR_listxattr __NR_listxattr - - #define __SNR_llistxattr __NR_llistxattr -@@ -1072,6 +1080,12 @@ - - #define __SNR_lsetxattr __NR_lsetxattr - -+#define __SNR_lsm_get_self_attr __NR_lsm_get_self_attr -+ -+#define __SNR_lsm_list_modules __NR_lsm_list_modules -+ -+#define __SNR_lsm_set_self_attr __NR_lsm_set_self_attr -+ - #ifdef __NR_lstat - #define __SNR_lstat __NR_lstat - #else -@@ -1214,6 +1228,8 @@ - - #define __SNR_mremap __NR_mremap - -+#define __SNR_mseal __NR_mseal -+ - #ifdef __NR_msgctl - #define __SNR_msgctl __NR_msgctl - #else -@@ -1556,6 +1572,12 @@ - #define __SNR_riscv_flush_icache __PNR_riscv_flush_icache - #endif - -+#ifdef __NR_riscv_hwprobe -+#define __SNR_riscv_hwprobe __NR_riscv_hwprobe -+#else -+#define __SNR_riscv_hwprobe __PNR_riscv_hwprobe -+#endif -+ - #ifdef __NR_rmdir - #define __SNR_rmdir __NR_rmdir - #else -@@ -2046,6 +2068,8 @@ - #define __SNR_statfs64 __PNR_statfs64 - #endif - -+#define __SNR_statmount __NR_statmount -+ - #ifdef __NR_statx - #define __SNR_statx __NR_statx - #else -@@ -2254,6 +2278,12 @@ - - #define __SNR_unshare __NR_unshare - -+#ifdef __NR_uretprobe -+#define __SNR_uretprobe __NR_uretprobe -+#else -+#define __SNR_uretprobe __PNR_uretprobe -+#endif -+ - #ifdef __NR_uselib - #define __SNR_uselib __NR_uselib - #else -diff --git a/include/seccomp.h.in b/include/seccomp.h.in -index ef4c6e4..0a3ffae 100644 ---- a/include/seccomp.h.in -+++ b/include/seccomp.h.in -@@ -150,6 +150,18 @@ struct scmp_arg_cmp { - #endif /* AUDIT_ARCH_AARCH64 */ - #define SCMP_ARCH_AARCH64 AUDIT_ARCH_AARCH64 - -+/** -+ * The LoongArch architecture tokens -+ */ -+/* 64-bit LoongArch audit support is upstream as of 5.19-rc1 */ -+#ifndef AUDIT_ARCH_LOONGARCH64 -+#ifndef EM_LOONGARCH -+#define EM_LOONGARCH 258 -+#endif /* EM_LOONGARCH */ -+#define AUDIT_ARCH_LOONGARCH64 (EM_LOONGARCH|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) -+#endif /* AUDIT_ARCH_LOONGARCH64 */ -+#define SCMP_ARCH_LOONGARCH64 AUDIT_ARCH_LOONGARCH64 -+ - /** - * The MIPS architecture tokens - */ -diff --git a/src/Makefile.am b/src/Makefile.am -index 1e5c092..cc1652d 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -32,6 +32,7 @@ SOURCES_ALL = \ - arch-x32.h arch-x32.c \ - arch-arm.h arch-arm.c \ - arch-aarch64.h arch-aarch64.c \ -+ arch-loongarch64.h arch-loongarch64.c \ - arch-mips.h arch-mips.c \ - arch-mips64.h arch-mips64.c \ - arch-mips64n32.h arch-mips64n32.c \ -diff --git a/src/arch-loongarch64.c b/src/arch-loongarch64.c -new file mode 100644 -index 0000000..87a7d9d ---- /dev/null -+++ b/src/arch-loongarch64.c -@@ -0,0 +1,40 @@ -+/** -+ * Enhanced Seccomp 64-bit LoongArch Syscall Table -+ * -+ * Copyright (c) 2021 Xiaotian Wu <wuxiaotian@loongson.cn> -+ */ -+ -+/* -+ * This library is free software; you can redistribute it and/or modify it -+ * under the terms of version 2.1 of the GNU Lesser General Public License as -+ * published by the Free Software Foundation. -+ * -+ * This library is distributed in the hope that it will be useful, but WITHOUT -+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License -+ * for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public License -+ * along with this library; if not, see <http://www.gnu.org/licenses>. -+ */ -+ -+#include <stdlib.h> -+#include <errno.h> -+#include <linux/audit.h> -+ -+#include "arch.h" -+#include "arch-loongarch64.h" -+#include "syscalls.h" -+ -+ARCH_DEF(loongarch64) -+ -+const struct arch_def arch_def_loongarch64 = { -+ .token = SCMP_ARCH_LOONGARCH64, -+ .token_bpf = AUDIT_ARCH_LOONGARCH64, -+ .size = ARCH_SIZE_64, -+ .endian = ARCH_ENDIAN_LITTLE, -+ .syscall_resolve_name_raw = loongarch64_syscall_resolve_name, -+ .syscall_resolve_num_raw = loongarch64_syscall_resolve_num, -+ .syscall_rewrite = NULL, -+ .rule_add = NULL, -+}; -diff --git a/src/arch-loongarch64.h b/src/arch-loongarch64.h -new file mode 100644 -index 0000000..c3c06af ---- /dev/null -+++ b/src/arch-loongarch64.h -@@ -0,0 +1,28 @@ -+/** -+ * Enhanced Seccomp 64-bit LoongArch Syscall Table -+ * -+ * Copyright (c) 2021 Xiaotian Wu <wuxiaotian@loongson.cn> -+ */ -+ -+/* -+ * This library is free software; you can redistribute it and/or modify it -+ * under the terms of version 2.1 of the GNU Lesser General Public License as -+ * published by the Free Software Foundation. -+ * -+ * This library is distributed in the hope that it will be useful, but WITHOUT -+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License -+ * for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public License -+ * along with this library; if not, see <http://www.gnu.org/licenses>. -+ */ -+ -+#ifndef _ARCH_LOONGARCH64_H -+#define _ARCH_LOONGARCH64_H -+ -+#include "arch.h" -+ -+ARCH_DECL(loongarch64) -+ -+#endif -diff --git a/src/arch-syscall-dump.c b/src/arch-syscall-dump.c -index 2055d34..cc76e2c 100644 ---- a/src/arch-syscall-dump.c -+++ b/src/arch-syscall-dump.c -@@ -34,6 +34,7 @@ - #include "arch-x86_64.h" - #include "arch-x32.h" - #include "arch-arm.h" -+#include "arch-loongarch64.h" - #include "arch-mips.h" - #include "arch-mips64.h" - #include "arch-mips64n32.h" -@@ -106,6 +107,9 @@ int main(int argc, char *argv[]) - case SCMP_ARCH_AARCH64: - sys = aarch64_syscall_iterate(iter); - break; -+ case SCMP_ARCH_LOONGARCH64: -+ sys = loongarch64_syscall_iterate(iter); -+ break; - case SCMP_ARCH_MIPS: - case SCMP_ARCH_MIPSEL: - sys = mips_syscall_iterate(iter); -diff --git a/src/arch-syscall-validate b/src/arch-syscall-validate -index 3b69e9b..8c4d632 100755 ---- a/src/arch-syscall-validate -+++ b/src/arch-syscall-validate -@@ -161,6 +161,31 @@ function mangle_lib_syscall() { - sed $sed_filter | sed '/,-[0-9]\+$/d' - } - -+# -+# Dump syscalls matching specified tags from the given syscall.tbl file -+# -+# Arguments: -+# 1 path to the syscall.tbl file to dump -+# (rest) tags to match (except "common" which is always included) -+# -+# Dump the matched syscall table entries to stdout. -+# -+function dump_from_syscall_tbl() { -+ local file="$1" -+ shift -+ -+ local tag -+ local tag_regexp='^(common' -+ for tag in "$@"; do -+ tag_regexp="${tag_regexp}|${tag}" -+ done -+ tag_regexp="${tag_regexp}) " -+ -+ cat "$file" | grep -v '^#\|^$' | awk '{ print $2,$3,$1 }' | \ -+ grep -E "$tag_regexp" | awk '{ print $2","$3 }' | sort | \ -+ grep -Ev '^(reserved|unused)[0-9]+,' -+} -+ - # - # Dump the x86 system syscall table - # -@@ -170,9 +195,7 @@ function mangle_lib_syscall() { - # Dump the architecture's syscall table to stdout. - # - function dump_sys_x86() { -- cat $1/arch/x86/entry/syscalls/syscall_32.tbl | \ -- grep -v "^#" | awk '{ print $3","$1 }' | \ -- sort -+ dump_from_syscall_tbl "$1/arch/x86/entry/syscalls/syscall_32.tbl" i386 - } - - # -@@ -193,9 +216,7 @@ function dump_lib_x86() { - # Dump the architecture's syscall table to stdout. - # - function dump_sys_x86_64() { -- cat $1/arch/x86/entry/syscalls/syscall_64.tbl | \ -- grep -v "^#" | sed '/^$/d' | awk '{ print $2,$3,$1 }' | \ -- sed '/^x32/d' | awk '{ print $2","$3 }' | sort -+ dump_from_syscall_tbl "$1/arch/x86/entry/syscalls/syscall_64.tbl" 64 - } - - # -@@ -216,9 +237,7 @@ function dump_lib_x86_64() { - # Dump the architecture's syscall table to stdout. - # - function dump_sys_x32() { -- cat $1/arch/x86/entry/syscalls/syscall_64.tbl | \ -- grep -v "^#" | sed '/^$/d' | awk '{ print $2,$3,$1 }' | \ -- sed '/^64/d' | awk '{ print $2","$3 }' | sort -+ dump_from_syscall_tbl "$1/arch/x86/entry/syscalls/syscall_64.tbl" x32 - } - - # -@@ -239,14 +258,12 @@ function dump_lib_x32() { - # Dump the architecture's syscall table to stdout. - # - function dump_sys_arm() { -- cat $1/arch/arm/tools/syscall.tbl | grep -v "^#" | \ -- sed -n "/[0-9]\+[ \t]\+\(common\|eabi\)/p" | \ -- awk '{ print $3","$1 }' | sort | (cat -; \ -- (cat $1/arch/arm/include/uapi/asm/unistd.h | \ -- grep "^#define __ARM_NR_" | \ -- grep -v "^#define __ARM_NR_BASE" | \ -- sed 's/#define __ARM_NR_\([a-z0-9_]*\)[ \t]\+(__ARM_NR_BASE+\(.*\))/\1 983040 + \2/' | \ -- awk '{ print $1","$2+$4 }')) | sort -+ dump_from_syscall_tbl "$1/arch/arm/tools/syscall.tbl" eabi | (cat -; \ -+ (cat $1/arch/arm/include/uapi/asm/unistd.h | \ -+ grep "^#define __ARM_NR_" | \ -+ grep -v "^#define __ARM_NR_BASE" | \ -+ sed 's/#define __ARM_NR_\([a-z0-9_]*\)[ \t]\+(__ARM_NR_BASE+\(.*\))/\1 983040 + \2/' | \ -+ awk '{ print $1","$2+$4 }')) | sort - } - - # -@@ -269,6 +286,13 @@ function dump_lib_arm() { - # Dump the architecture's syscall table to stdout. - # - function dump_sys_aarch64() { -+ local syscall_tbl_file="$1/arch/arm64/tools/syscall_64.tbl" -+ if [[ -e $syscall_tbl_file ]]; then -+ dump_from_syscall_tbl "$syscall_tbl_file" \ -+ 64 renameat rlimit memfd_secret -+ return -+ fi -+ - local sed_filter="" - - sed_filter+='s/__NR3264_statfs/43/;' -@@ -305,6 +329,53 @@ function dump_lib_aarch64() { - dump_lib_arch aarch64 | mangle_lib_syscall aarch64 - } - -+# -+# Dump the loongarch64 syscall table -+# -+# Arguments: -+# 1 path to the kernel source -+# -+# Dump the architecture's syscall table to stdout. -+# -+function dump_sys_loongarch64() { -+ if [[ -e $1/arch/loongarch/kernel/Makefile.syscalls ]]; then -+ dump_from_syscall_tbl "$1/scripts/syscall.tbl" 64 -+ return -+ fi -+ -+ local sed_filter="" -+ -+ sed_filter+='s/__NR3264_fadvise64/223/;' -+ sed_filter+='s/__NR3264_fcntl/25/;' -+ sed_filter+='s/__NR3264_fstatfs/44/;' -+ sed_filter+='s/__NR3264_ftruncate/46/;' -+ sed_filter+='s/__NR3264_lseek/62/;' -+ sed_filter+='s/__NR3264_mmap/222/;' -+ sed_filter+='s/__NR3264_sendfile/71/;' -+ sed_filter+='s/__NR3264_statfs/43/;' -+ sed_filter+='s/__NR3264_truncate/45/;' -+ -+ gcc -E -dM -I$1/include/uapi \ -+ -D__BITS_PER_LONG=64 \ -+ -D__ARCH_WANT_SYS_CLONE \ -+ -D__ARCH_WANT_SYS_CLONE3 \ -+ $1/arch/loongarch/include/uapi/asm/unistd.h | \ -+ grep "^#define __NR_" | \ -+ sed '/__NR_syscalls/d' | \ -+ sed '/__NR_arch_specific_syscall/d' | \ -+ sed 's/#define[ \t]\+__NR_\([^ \t]\+\)[ \t]\+\(.*\)/\1,\2/' | \ -+ sed $sed_filter | sort -+} -+ -+# -+# Dump the loongarch64 library syscall table -+# -+# Dump the library's syscall table to stdout. -+# -+function dump_lib_loongarch64() { -+ dump_lib_arch loongarch64 | mangle_lib_syscall loongarch64 -+} -+ - # - # Dump the mips system syscall table - # -@@ -314,11 +385,7 @@ function dump_lib_aarch64() { - # Dump the architecture's syscall table to stdout. - # - function dump_sys_mips() { -- cat $1/arch/mips/kernel/syscalls/syscall_o32.tbl | \ -- grep -v "^#" | \ -- sed -e '/[ \t]\+reserved[0-9]\+[ \t]\+/d;' | \ -- sed -e '/[ \t]\+unused[0-9]\+[ \t]\+/d;' | \ -- awk '{ print $3","$1 }' | sort -+ dump_from_syscall_tbl "$1/arch/mips/kernel/syscalls/syscall_o32.tbl" o32 - } - - # -@@ -339,11 +406,7 @@ function dump_lib_mips() { - # Dump the architecture's syscall table to stdout. - # - function dump_sys_mips64() { -- cat $1/arch/mips/kernel/syscalls/syscall_n64.tbl | \ -- grep -v "^#" | \ -- sed -e '/[ \t]\+reserved[0-9]\+[ \t]\+/d;' | \ -- sed -e '/[ \t]\+unused[0-9]\+[ \t]\+/d;' | \ -- awk '{ print $3","$1 }' | sort -+ dump_from_syscall_tbl "$1/arch/mips/kernel/syscalls/syscall_n64.tbl" n64 - } - - # -@@ -364,11 +427,7 @@ function dump_lib_mips64() { - # Dump the architecture's syscall table to stdout. - # - function dump_sys_mips64n32() { -- cat $1/arch/mips/kernel/syscalls/syscall_n32.tbl | \ -- grep -v "^#" | \ -- sed -e '/[ \t]\+reserved[0-9]\+[ \t]\+/d;' | \ -- sed -e '/[ \t]\+unused[0-9]\+[ \t]\+/d;' | \ -- awk '{ print $3","$1 }' | sort -+ dump_from_syscall_tbl "$1/arch/mips/kernel/syscalls/syscall_n32.tbl" n32 - } - - # -@@ -389,11 +448,7 @@ function dump_lib_mips64n32() { - # Dump the architecture's syscall table to stdout. - # - function dump_sys_parisc() { -- cat $1/arch/parisc/kernel/syscalls/syscall.tbl | \ -- grep -v "^#" | \ -- sed -n "/[0-9]\+[ \t]\+\(common\|32\)/p" | \ -- awk '{ print $3","$1 }' | \ -- sort -+ dump_from_syscall_tbl "$1/arch/parisc/kernel/syscalls/syscall.tbl" 32 - } - - # -@@ -414,11 +469,7 @@ function dump_lib_parisc() { - # Dump the architecture's syscall table to stdout. - # - function dump_sys_parisc64() { -- cat $1/arch/parisc/kernel/syscalls/syscall.tbl | \ -- grep -v "^#" | \ -- sed -n "/[0-9]\+[ \t]\+\(common\|64\)/p" | \ -- awk '{ print $3","$1 }' | \ -- sort -+ dump_from_syscall_tbl "$1/arch/parisc/kernel/syscalls/syscall.tbl" 64 - } - - # -@@ -439,9 +490,8 @@ function dump_lib_parisc64() { - # Dump the architecture's syscall table to stdout. - # - function dump_sys_ppc() { -- cat $1/arch/powerpc/kernel/syscalls/syscall.tbl | grep -v "^#" | \ -- sed -ne "/[0-9]\+[ \t]\+\(common\|nospu\|32\)/p" | \ -- awk '{ print $3","$1 }' | sort -+ dump_from_syscall_tbl "$1/arch/powerpc/kernel/syscalls/syscall.tbl" \ -+ nospu 32 - } - - # -@@ -462,9 +512,8 @@ function dump_lib_ppc() { - # Dump the architecture's syscall table to stdout. - # - function dump_sys_ppc64() { -- cat $1/arch/powerpc/kernel/syscalls/syscall.tbl | grep -v "^#" | \ -- sed -ne "/[0-9]\+[ \t]\+\(common\|nospu\|64\)/p" | \ -- awk '{ print $3","$1 }' | sort -+ dump_from_syscall_tbl "$1/arch/powerpc/kernel/syscalls/syscall.tbl" \ -+ nospu 64 - } - - # -@@ -485,6 +534,12 @@ function dump_lib_ppc64() { - # Dump the architecture's syscall table to stdout. - # - function dump_sys_riscv64() { -+ if [[ -e $1/arch/riscv/kernel/Makefile.syscalls ]]; then -+ dump_from_syscall_tbl "$1/scripts/syscall.tbl" \ -+ 64 riscv rlimit memfd_secret -+ return -+ fi -+ - local sed_filter="" - - sed_filter+='s/__NR3264_fadvise64/223/;' -@@ -528,10 +583,7 @@ function dump_lib_riscv64() { - # Dump the architecture's syscall table to stdout. - # - function dump_sys_s390() { -- cat $1/arch/s390/kernel/syscalls/syscall.tbl | grep -v "^#" | \ -- sed -ne "/[0-9]\+[ \t]\+\(common\|32\)/p" | \ -- awk '{ print $3","$1 }' | \ -- sort -+ dump_from_syscall_tbl "$1/arch/s390/kernel/syscalls/syscall.tbl" 32 - } - - # -@@ -552,10 +604,7 @@ function dump_lib_s390() { - # Dump the architecture's syscall table to stdout. - # - function dump_sys_s390x() { -- cat $1/arch/s390/kernel/syscalls/syscall.tbl | grep -v "^#" | \ -- sed -ne "/[0-9]\+[ \t]\+\(common\|64\)/p" | \ -- awk '{ print $3","$1 }' | \ -- sort -+ dump_from_syscall_tbl "$1/arch/s390/kernel/syscalls/syscall.tbl" 64 - } - - # -@@ -593,6 +642,9 @@ function dump_sys() { - aarch64) - dump_sys_aarch64 "$2" - ;; -+ loongarch64) -+ dump_sys_loongarch64 "$2" -+ ;; - mips) - dump_sys_mips "$2" - ;; -@@ -657,6 +709,9 @@ function dump_lib() { - aarch64) - dump_lib_aarch64 - ;; -+ loongarch64) -+ dump_lib_loongarch64 -+ ;; - mips) - dump_lib_mips - ;; -@@ -717,6 +772,7 @@ function gen_csv() { - abi_list="" - abi_list+=" x86 x86_64 x32" - abi_list+=" arm aarch64" -+ abi_list+=" loongarch64" - abi_list+=" mips mips64 mips64n32" - abi_list+=" parisc parisc64" - abi_list+=" ppc ppc64" -@@ -806,6 +862,7 @@ if [[ $opt_arches == "" ]]; then - opt_arches=" \ - x86 x86_64 x32 \ - arm aarch64 \ -+ loongarch64 \ - mips mips64 mips64n32 \ - parisc parisc64 \ - ppc ppc64 \ -diff --git a/src/arch.c b/src/arch.c -index 8ef77b1..8c5363a 100644 ---- a/src/arch.c -+++ b/src/arch.c -@@ -35,6 +35,7 @@ - #include "arch-x32.h" - #include "arch-arm.h" - #include "arch-aarch64.h" -+#include "arch-loongarch64.h" - #include "arch-mips.h" - #include "arch-mips64.h" - #include "arch-mips64n32.h" -@@ -62,6 +63,8 @@ const struct arch_def *arch_def_native = &arch_def_x86_64; - const struct arch_def *arch_def_native = &arch_def_arm; - #elif __aarch64__ - const struct arch_def *arch_def_native = &arch_def_aarch64; -+#elif __loongarch64 -+const struct arch_def *arch_def_native = &arch_def_loongarch64; - #elif __mips__ && _MIPS_SIM == _MIPS_SIM_ABI32 - #if __MIPSEB__ - const struct arch_def *arch_def_native = &arch_def_mips; -@@ -134,6 +137,8 @@ const struct arch_def *arch_def_lookup(uint32_t token) - return &arch_def_arm; - case SCMP_ARCH_AARCH64: - return &arch_def_aarch64; -+ case SCMP_ARCH_LOONGARCH64: -+ return &arch_def_loongarch64; - case SCMP_ARCH_MIPS: - return &arch_def_mips; - case SCMP_ARCH_MIPSEL: -@@ -186,6 +191,8 @@ const struct arch_def *arch_def_lookup_name(const char *arch_name) - return &arch_def_arm; - else if (strcmp(arch_name, "aarch64") == 0) - return &arch_def_aarch64; -+ else if (strcmp(arch_name, "loongarch64") == 0) -+ return &arch_def_loongarch64; - else if (strcmp(arch_name, "mips") == 0) - return &arch_def_mips; - else if (strcmp(arch_name, "mipsel") == 0) -diff --git a/src/gen_pfc.c b/src/gen_pfc.c -index d58f586..f7ae4e4 100644 ---- a/src/gen_pfc.c -+++ b/src/gen_pfc.c -@@ -61,6 +61,8 @@ static const char *_pfc_arch(const struct arch_def *arch) - return "arm"; - case SCMP_ARCH_AARCH64: - return "aarch64"; -+ case SCMP_ARCH_LOONGARCH64: -+ return "loongarch64"; - case SCMP_ARCH_MIPS: - return "mips"; - case SCMP_ARCH_MIPSEL: -diff --git a/src/python/libseccomp.pxd b/src/python/libseccomp.pxd -index 0629bf1..280143f 100644 ---- a/src/python/libseccomp.pxd -+++ b/src/python/libseccomp.pxd -@@ -38,6 +38,7 @@ cdef extern from "seccomp.h": - SCMP_ARCH_X32 - SCMP_ARCH_ARM - SCMP_ARCH_AARCH64 -+ SCMP_ARCH_LOONGARCH64 - SCMP_ARCH_MIPS - SCMP_ARCH_MIPS64 - SCMP_ARCH_MIPS64N32 -diff --git a/src/python/seccomp.pyx b/src/python/seccomp.pyx -index 2eeabc1..9e08cfd 100644 ---- a/src/python/seccomp.pyx -+++ b/src/python/seccomp.pyx -@@ -204,6 +204,7 @@ cdef class Arch: - X32 - 64-bit x86 using the x32 ABI - ARM - ARM - AARCH64 - 64-bit ARM -+ LOONGARCH64 - 64-bit LoongArch - MIPS - MIPS O32 ABI - MIPS64 - MIPS 64-bit ABI - MIPS64N32 - MIPS N32 ABI -@@ -225,6 +226,7 @@ cdef class Arch: - X32 = libseccomp.SCMP_ARCH_X32 - ARM = libseccomp.SCMP_ARCH_ARM - AARCH64 = libseccomp.SCMP_ARCH_AARCH64 -+ LOONGARCH64 = libseccomp.SCMP_ARCH_LOONGARCH64 - MIPS = libseccomp.SCMP_ARCH_MIPS - MIPS64 = libseccomp.SCMP_ARCH_MIPS64 - MIPS64N32 = libseccomp.SCMP_ARCH_MIPS64N32 -@@ -262,6 +264,8 @@ cdef class Arch: - self._token = libseccomp.SCMP_ARCH_ARM - elif arch == libseccomp.SCMP_ARCH_AARCH64: - self._token = libseccomp.SCMP_ARCH_AARCH64 -+ elif arch == libseccomp.SCMP_ARCH_LOONGARCH64: -+ self._token = libseccomp.SCMP_ARCH_LOONGARCH64 - elif arch == libseccomp.SCMP_ARCH_MIPS: - self._token = libseccomp.SCMP_ARCH_MIPS - elif arch == libseccomp.SCMP_ARCH_MIPS64: -diff --git a/src/syscalls.csv b/src/syscalls.csv -index b0da8e6..5d9614b 100644 ---- a/src/syscalls.csv -+++ b/src/syscalls.csv -@@ -1,488 +1,496 @@ --#syscall (v6.7.0-rc3 2023-11-30),x86,x86_64,x32,arm,aarch64,mips,mips64,mips64n32,parisc,parisc64,ppc,ppc64,riscv64,s390,s390x --accept,PNR,43,43,285,202,168,42,42,35,35,330,330,202,PNR,PNR --accept4,364,288,288,366,242,334,293,297,320,320,344,344,242,364,364 --access,33,21,21,33,PNR,33,20,20,33,33,33,33,PNR,33,33 --acct,51,163,163,51,89,51,158,158,51,51,51,51,89,51,51 --add_key,286,248,248,309,217,280,239,243,264,264,269,269,217,278,278 --adjtimex,124,159,159,124,171,124,154,154,124,124,124,124,171,124,124 --afs_syscall,137,183,183,PNR,PNR,137,176,176,PNR,PNR,137,137,PNR,137,137 --alarm,27,37,37,PNR,PNR,27,37,37,27,27,27,27,PNR,27,27 --arch_prctl,384,158,158,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR --arm_fadvise64_64,PNR,PNR,PNR,270,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR --arm_sync_file_range,PNR,PNR,PNR,341,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR --bdflush,134,PNR,PNR,134,PNR,134,PNR,PNR,134,134,134,134,PNR,134,134 --bind,361,49,49,282,200,169,48,48,22,22,327,327,200,361,361 --bpf,357,321,321,386,280,355,315,319,341,341,361,361,280,351,351 --break,17,PNR,PNR,PNR,PNR,17,PNR,PNR,PNR,PNR,17,17,PNR,PNR,PNR --breakpoint,PNR,PNR,PNR,983041,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR --brk,45,12,12,45,214,45,12,12,45,45,45,45,214,45,45 --cachectl,PNR,PNR,PNR,PNR,PNR,148,198,198,PNR,PNR,PNR,PNR,PNR,PNR,PNR --cacheflush,PNR,PNR,PNR,983042,PNR,147,197,197,356,356,PNR,PNR,PNR,PNR,PNR --cachestat,451,451,451,451,451,451,451,451,451,451,451,451,451,451,451 --capget,184,125,125,184,90,204,123,123,106,106,183,183,90,184,184 --capset,185,126,126,185,91,205,124,124,107,107,184,184,91,185,185 --chdir,12,80,80,12,49,12,78,78,12,12,12,12,49,12,12 --chmod,15,90,90,15,PNR,15,88,88,15,15,15,15,PNR,15,15 --chown,182,92,92,182,PNR,202,90,90,180,180,181,181,PNR,182,212 --chown32,212,PNR,PNR,212,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,212,PNR --chroot,61,161,161,61,51,61,156,156,61,61,61,61,51,61,61 --clock_adjtime,343,305,305,372,266,341,300,305,324,324,347,347,266,337,337 --clock_adjtime64,405,PNR,PNR,405,PNR,405,PNR,405,405,PNR,405,PNR,PNR,405,PNR --clock_getres,266,229,229,264,114,264,223,227,257,257,247,247,114,261,261 --clock_getres_time64,406,PNR,PNR,406,PNR,406,PNR,406,406,PNR,406,PNR,PNR,406,PNR --clock_gettime,265,228,228,263,113,263,222,226,256,256,246,246,113,260,260 --clock_gettime64,403,PNR,PNR,403,PNR,403,PNR,403,403,PNR,403,PNR,PNR,403,PNR --clock_nanosleep,267,230,230,265,115,265,224,228,258,258,248,248,115,262,262 --clock_nanosleep_time64,407,PNR,PNR,407,PNR,407,PNR,407,407,PNR,407,PNR,PNR,407,PNR --clock_settime,264,227,227,262,112,262,221,225,255,255,245,245,112,259,259 --clock_settime64,404,PNR,PNR,404,PNR,404,PNR,404,404,PNR,404,PNR,PNR,404,PNR --clone,120,56,56,120,220,120,55,55,120,120,120,120,220,120,120 --clone3,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435 --close,6,3,3,6,57,6,3,3,6,6,6,6,57,6,6 --close_range,436,436,436,436,436,436,436,436,436,436,436,436,436,436,436 --connect,362,42,42,283,203,170,41,41,31,31,328,328,203,362,362 --copy_file_range,377,326,326,391,285,360,320,324,346,346,379,379,285,375,375 --creat,8,85,85,8,PNR,8,83,83,8,8,8,8,PNR,8,8 --create_module,127,174,PNR,PNR,PNR,127,167,167,PNR,PNR,127,127,PNR,127,127 --delete_module,129,176,176,129,106,129,169,169,129,129,129,129,106,129,129 --dup,41,32,32,41,23,41,31,31,41,41,41,41,23,41,41 --dup2,63,33,33,63,PNR,63,32,32,63,63,63,63,PNR,63,63 --dup3,330,292,292,358,24,327,286,290,312,312,316,316,24,326,326 --epoll_create,254,213,213,250,PNR,248,207,207,224,224,236,236,PNR,249,249 --epoll_create1,329,291,291,357,20,326,285,289,311,311,315,315,20,327,327 --epoll_ctl,255,233,233,251,21,249,208,208,225,225,237,237,21,250,250 --epoll_ctl_old,PNR,214,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR --epoll_pwait,319,281,281,346,22,313,272,276,297,297,303,303,22,312,312 --epoll_pwait2,441,441,441,441,441,441,441,441,441,441,441,441,441,441,441 --epoll_wait,256,232,232,252,PNR,250,209,209,226,226,238,238,PNR,251,251 --epoll_wait_old,PNR,215,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR --eventfd,323,284,284,351,PNR,319,278,282,304,304,307,307,PNR,318,318 --eventfd2,328,290,290,356,19,325,284,288,310,310,314,314,19,323,323 --execve,11,59,520,11,221,11,57,57,11,11,11,11,221,11,11 --execveat,358,322,545,387,281,356,316,320,342,342,362,362,281,354,354 --exit,1,60,60,1,93,1,58,58,1,1,1,1,93,1,1 --exit_group,252,231,231,248,94,246,205,205,222,222,234,234,94,248,248 --faccessat,307,269,269,334,48,300,259,263,287,287,298,298,48,300,300 --faccessat2,439,439,439,439,439,439,439,439,439,439,439,439,439,439,439 --fadvise64,250,221,221,PNR,223,254,215,216,PNR,PNR,233,233,223,253,253 --fadvise64_64,272,PNR,PNR,PNR,PNR,PNR,PNR,PNR,236,236,254,PNR,PNR,264,PNR --fallocate,324,285,285,352,47,320,279,283,305,305,309,309,47,314,314 --fanotify_init,338,300,300,367,262,336,295,300,322,322,323,323,262,332,332 --fanotify_mark,339,301,301,368,263,337,296,301,323,323,324,324,263,333,333 --fchdir,133,81,81,133,50,133,79,79,133,133,133,133,50,133,133 --fchmod,94,91,91,94,52,94,89,89,94,94,94,94,52,94,94 --fchmodat,306,268,268,333,53,299,258,262,286,286,297,297,53,299,299 --fchmodat2,452,452,452,452,452,452,452,452,452,452,452,452,452,452,452 --fchown,95,93,93,95,55,95,91,91,95,95,95,95,55,95,207 --fchown32,207,PNR,PNR,207,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,207,PNR --fchownat,298,260,260,325,54,291,250,254,278,278,289,289,54,291,291 --fcntl,55,72,72,55,25,55,70,70,55,55,55,55,25,55,55 --fcntl64,221,PNR,PNR,221,PNR,220,PNR,212,202,202,204,PNR,PNR,221,PNR --fdatasync,148,75,75,148,83,152,73,73,148,148,148,148,83,148,148 --fgetxattr,231,193,193,231,10,229,185,185,243,243,214,214,10,229,229 --finit_module,350,313,313,379,273,348,307,312,333,333,353,353,273,344,344 --flistxattr,234,196,196,234,13,232,188,188,246,246,217,217,13,232,232 --flock,143,73,73,143,32,143,71,71,143,143,143,143,32,143,143 --fork,2,57,57,2,PNR,2,56,56,2,2,2,2,PNR,2,2 --fremovexattr,237,199,199,237,16,235,191,191,249,249,220,220,16,235,235 --fsconfig,431,431,431,431,431,431,431,431,431,431,431,431,431,431,431 --fsetxattr,228,190,190,228,7,226,182,182,240,240,211,211,7,226,226 --fsmount,432,432,432,432,432,432,432,432,432,432,432,432,432,432,432 --fsopen,430,430,430,430,430,430,430,430,430,430,430,430,430,430,430 --fspick,433,433,433,433,433,433,433,433,433,433,433,433,433,433,433 --fstat,108,5,5,108,80,108,5,5,28,28,108,108,80,108,108 --fstat64,197,PNR,PNR,197,PNR,215,PNR,PNR,112,112,197,PNR,PNR,197,PNR --fstatat64,300,PNR,PNR,327,PNR,293,PNR,PNR,280,280,291,PNR,PNR,293,PNR --fstatfs,100,138,138,100,44,100,135,135,100,100,100,100,44,100,100 --fstatfs64,269,PNR,PNR,267,PNR,256,PNR,218,299,299,253,253,PNR,266,266 --fsync,118,74,74,118,82,118,72,72,118,118,118,118,82,118,118 --ftime,35,PNR,PNR,PNR,PNR,35,PNR,PNR,PNR,PNR,35,35,PNR,PNR,PNR --ftruncate,93,77,77,93,46,93,75,75,93,93,93,93,46,93,93 --ftruncate64,194,PNR,PNR,194,PNR,212,PNR,PNR,200,200,194,PNR,PNR,194,PNR --futex,240,202,202,240,98,238,194,194,210,210,221,221,98,238,238 --futex_requeue,456,456,456,456,456,456,456,456,456,456,456,456,456,456,456 --futex_time64,422,PNR,PNR,422,PNR,422,PNR,422,422,PNR,422,PNR,PNR,422,PNR --futex_wait,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455 --futex_waitv,449,449,449,449,449,449,449,449,449,449,449,449,449,449,449 --futex_wake,454,454,454,454,454,454,454,454,454,454,454,454,454,454,454 --futimesat,299,261,261,326,PNR,292,251,255,279,279,290,290,PNR,292,292 --getcpu,318,309,309,345,168,312,271,275,296,296,302,302,168,311,311 --getcwd,183,79,79,183,17,203,77,77,110,110,182,182,17,183,183 --getdents,141,78,78,141,PNR,141,76,76,141,141,141,141,PNR,141,141 --getdents64,220,217,217,217,61,219,308,299,201,201,202,202,61,220,220 --getegid,50,108,108,50,177,50,106,106,50,50,50,50,177,50,202 --getegid32,202,PNR,PNR,202,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,202,PNR --geteuid,49,107,107,49,175,49,105,105,49,49,49,49,175,49,201 --geteuid32,201,PNR,PNR,201,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,201,PNR --getgid,47,104,104,47,176,47,102,102,47,47,47,47,176,47,200 --getgid32,200,PNR,PNR,200,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,200,PNR --getgroups,80,115,115,80,158,80,113,113,80,80,80,80,158,80,205 --getgroups32,205,PNR,PNR,205,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,205,PNR --getitimer,105,36,36,105,102,105,35,35,105,105,105,105,102,105,105 --get_kernel_syms,130,177,PNR,PNR,PNR,130,170,170,PNR,PNR,130,130,PNR,130,130 --get_mempolicy,275,239,239,320,236,269,228,232,261,261,260,260,236,269,269 --getpeername,368,52,52,287,205,171,51,51,53,53,332,332,205,368,368 --getpgid,132,121,121,132,155,132,119,119,132,132,132,132,155,132,132 --getpgrp,65,111,111,65,PNR,65,109,109,65,65,65,65,PNR,65,65 --getpid,20,39,39,20,172,20,38,38,20,20,20,20,172,20,20 --getpmsg,188,181,181,PNR,PNR,208,174,174,PNR,PNR,187,187,PNR,188,188 --getppid,64,110,110,64,173,64,108,108,64,64,64,64,173,64,64 --getpriority,96,140,140,96,141,96,137,137,96,96,96,96,141,96,96 --getrandom,355,318,318,384,278,353,313,317,339,339,359,359,278,349,349 --getresgid,171,120,120,171,150,191,118,118,171,171,170,170,150,171,211 --getresgid32,211,PNR,PNR,211,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,211,PNR --getresuid,165,118,118,165,148,186,116,116,165,165,165,165,148,165,209 --getresuid32,209,PNR,PNR,209,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,209,PNR --getrlimit,76,97,97,PNR,163,76,95,95,76,76,76,76,163,76,191 --get_robust_list,312,274,531,339,100,310,269,273,290,290,299,299,100,305,305 --getrusage,77,98,98,77,165,77,96,96,77,77,77,77,165,77,77 --getsid,147,124,124,147,156,151,122,122,147,147,147,147,156,147,147 --getsockname,367,51,51,286,204,172,50,50,44,44,331,331,204,367,367 --getsockopt,365,55,542,295,209,173,54,54,182,182,340,340,209,365,365 --get_thread_area,244,211,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR --gettid,224,186,186,224,178,222,178,178,206,206,207,207,178,236,236 --gettimeofday,78,96,96,78,169,78,94,94,78,78,78,78,169,78,78 --get_tls,PNR,PNR,PNR,983046,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR --getuid,24,102,102,24,174,24,100,100,24,24,24,24,174,24,199 --getuid32,199,PNR,PNR,199,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,199,PNR --getxattr,229,191,191,229,8,227,183,183,241,241,212,212,8,227,227 --gtty,32,PNR,PNR,PNR,PNR,32,PNR,PNR,PNR,PNR,32,32,PNR,PNR,PNR --idle,112,PNR,PNR,PNR,PNR,112,PNR,PNR,PNR,PNR,112,112,PNR,112,112 --init_module,128,175,175,128,105,128,168,168,128,128,128,128,105,128,128 --inotify_add_watch,292,254,254,317,27,285,244,248,270,270,276,276,27,285,285 --inotify_init,291,253,253,316,PNR,284,243,247,269,269,275,275,PNR,284,284 --inotify_init1,332,294,294,360,26,329,288,292,314,314,318,318,26,324,324 --inotify_rm_watch,293,255,255,318,28,286,245,249,271,271,277,277,28,286,286 --io_cancel,249,210,210,247,3,245,204,204,219,219,231,231,3,247,247 --ioctl,54,16,514,54,29,54,15,15,54,54,54,54,29,54,54 --io_destroy,246,207,207,244,1,242,201,201,216,216,228,228,1,244,244 --io_getevents,247,208,208,245,4,243,202,202,217,217,229,229,4,245,245 --ioperm,101,173,173,PNR,PNR,101,PNR,PNR,PNR,PNR,101,101,PNR,101,PNR --io_pgetevents,385,333,333,399,292,368,328,332,350,350,388,388,292,382,382 --io_pgetevents_time64,416,PNR,PNR,416,PNR,416,PNR,416,416,PNR,416,PNR,PNR,416,PNR --iopl,110,172,172,PNR,PNR,110,PNR,PNR,PNR,PNR,110,110,PNR,PNR,PNR --ioprio_get,290,252,252,315,31,315,274,278,268,268,274,274,31,283,283 --ioprio_set,289,251,251,314,30,314,273,277,267,267,273,273,30,282,282 --io_setup,245,206,543,243,0,241,200,200,215,215,227,227,0,243,243 --io_submit,248,209,544,246,2,244,203,203,218,218,230,230,2,246,246 --io_uring_enter,426,426,426,426,426,426,426,426,426,426,426,426,426,426,426 --io_uring_register,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427 --io_uring_setup,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425 --ipc,117,PNR,PNR,PNR,PNR,117,PNR,PNR,PNR,PNR,117,117,PNR,117,117 --kcmp,349,312,312,378,272,347,306,311,332,332,354,354,272,343,343 --kexec_file_load,PNR,320,320,401,294,PNR,PNR,PNR,355,355,382,382,294,381,381 --kexec_load,283,246,528,347,104,311,270,274,300,300,268,268,104,277,277 --keyctl,288,250,250,311,219,282,241,245,266,266,271,271,219,280,280 --kill,37,62,62,37,129,37,60,60,37,37,37,37,129,37,37 --landlock_add_rule,445,445,445,445,445,445,445,445,445,445,445,445,445,445,445 --landlock_create_ruleset,444,444,444,444,444,444,444,444,444,444,444,444,444,444,444 --landlock_restrict_self,446,446,446,446,446,446,446,446,446,446,446,446,446,446,446 --lchown,16,94,94,16,PNR,16,92,92,16,16,16,16,PNR,16,198 --lchown32,198,PNR,PNR,198,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,198,PNR --lgetxattr,230,192,192,230,9,228,184,184,242,242,213,213,9,228,228 --link,9,86,86,9,PNR,9,84,84,9,9,9,9,PNR,9,9 --linkat,303,265,265,330,37,296,255,259,283,283,294,294,37,296,296 --listen,363,50,50,284,201,174,49,49,32,32,329,329,201,363,363 --listxattr,232,194,194,232,11,230,186,186,244,244,215,215,11,230,230 --llistxattr,233,195,195,233,12,231,187,187,245,245,216,216,12,231,231 --_llseek,140,PNR,PNR,140,PNR,140,PNR,PNR,140,140,140,140,PNR,140,PNR --lock,53,PNR,PNR,PNR,PNR,53,PNR,PNR,PNR,PNR,53,53,PNR,PNR,PNR --lookup_dcookie,253,212,212,249,18,247,206,206,223,223,235,235,18,110,110 --lremovexattr,236,198,198,236,15,234,190,190,248,248,219,219,15,234,234 --lseek,19,8,8,19,62,19,8,8,19,19,19,19,62,19,19 --lsetxattr,227,189,189,227,6,225,181,181,239,239,210,210,6,225,225 --lstat,107,6,6,107,PNR,107,6,6,84,84,107,107,PNR,107,107 --lstat64,196,PNR,PNR,196,PNR,214,PNR,PNR,198,198,196,PNR,PNR,196,PNR --madvise,219,28,28,220,233,218,27,27,119,119,205,205,233,219,219 --map_shadow_stack,453,453,PNR,453,453,453,453,453,453,453,453,453,453,453,453 --mbind,274,237,237,319,235,268,227,231,260,260,259,259,235,268,268 --membarrier,375,324,324,389,283,358,318,322,343,343,365,365,283,356,356 --memfd_create,356,319,319,385,279,354,314,318,340,340,360,360,279,350,350 --memfd_secret,447,447,447,PNR,447,PNR,PNR,PNR,PNR,PNR,PNR,PNR,447,447,447 --migrate_pages,294,256,256,400,238,287,246,250,272,272,258,258,238,287,287 --mincore,218,27,27,219,232,217,26,26,72,72,206,206,232,218,218 --mkdir,39,83,83,39,PNR,39,81,81,39,39,39,39,PNR,39,39 --mkdirat,296,258,258,323,34,289,248,252,276,276,287,287,34,289,289 --mknod,14,133,133,14,PNR,14,131,131,14,14,14,14,PNR,14,14 --mknodat,297,259,259,324,33,290,249,253,277,277,288,288,33,290,290 --mlock,150,149,149,150,228,154,146,146,150,150,150,150,228,150,150 --mlock2,376,325,325,390,284,359,319,323,345,345,378,378,284,374,374 --mlockall,152,151,151,152,230,156,148,148,152,152,152,152,230,152,152 --mmap,90,9,9,PNR,222,90,9,9,90,90,90,90,222,90,90 --mmap2,192,PNR,PNR,192,PNR,210,PNR,PNR,89,89,192,PNR,PNR,192,PNR --modify_ldt,123,154,154,PNR,PNR,123,PNR,PNR,PNR,PNR,123,123,PNR,PNR,PNR --mount,21,165,165,21,40,21,160,160,21,21,21,21,40,21,21 --mount_setattr,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442 --move_mount,429,429,429,429,429,429,429,429,429,429,429,429,429,429,429 --move_pages,317,279,533,344,239,308,267,271,295,295,301,301,239,310,310 --mprotect,125,10,10,125,226,125,10,10,125,125,125,125,226,125,125 --mpx,56,PNR,PNR,PNR,PNR,56,PNR,PNR,PNR,PNR,56,56,PNR,PNR,PNR --mq_getsetattr,282,245,245,279,185,276,235,239,234,234,267,267,185,276,276 --mq_notify,281,244,527,278,184,275,234,238,233,233,266,266,184,275,275 --mq_open,277,240,240,274,180,271,230,234,229,229,262,262,180,271,271 --mq_timedreceive,280,243,243,277,183,274,233,237,232,232,265,265,183,274,274 --mq_timedreceive_time64,419,PNR,PNR,419,PNR,419,PNR,419,419,PNR,419,PNR,PNR,419,PNR --mq_timedsend,279,242,242,276,182,273,232,236,231,231,264,264,182,273,273 --mq_timedsend_time64,418,PNR,PNR,418,PNR,418,PNR,418,418,PNR,418,PNR,PNR,418,PNR --mq_unlink,278,241,241,275,181,272,231,235,230,230,263,263,181,272,272 --mremap,163,25,25,163,216,167,24,24,163,163,163,163,216,163,163 --msgctl,402,71,71,304,187,402,69,69,191,191,402,402,187,402,402 --msgget,399,68,68,303,186,399,66,66,190,190,399,399,186,399,399 --msgrcv,401,70,70,302,188,401,68,68,189,189,401,401,188,401,401 --msgsnd,400,69,69,301,189,400,67,67,188,188,400,400,189,400,400 --msync,144,26,26,144,227,144,25,25,144,144,144,144,227,144,144 --multiplexer,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,201,201,PNR,PNR,PNR --munlock,151,150,150,151,229,155,147,147,151,151,151,151,229,151,151 --munlockall,153,152,152,153,231,157,149,149,153,153,153,153,231,153,153 --munmap,91,11,11,91,215,91,11,11,91,91,91,91,215,91,91 --name_to_handle_at,341,303,303,370,264,339,298,303,325,325,345,345,264,335,335 --nanosleep,162,35,35,162,101,166,34,34,162,162,162,162,101,162,162 --newfstatat,PNR,262,262,PNR,79,PNR,252,256,PNR,PNR,PNR,291,79,PNR,293 --_newselect,142,PNR,PNR,142,PNR,142,22,22,142,142,142,142,PNR,142,PNR --nfsservctl,169,180,PNR,169,42,189,173,173,PNR,PNR,168,168,42,169,169 --nice,34,PNR,PNR,34,PNR,34,PNR,PNR,34,34,34,34,PNR,34,34 --oldfstat,28,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,28,28,PNR,PNR,PNR --oldlstat,84,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,84,84,PNR,PNR,PNR --oldolduname,59,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,59,59,PNR,PNR,PNR --oldstat,18,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,18,18,PNR,PNR,PNR --olduname,109,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,109,109,PNR,PNR,PNR --open,5,2,2,5,PNR,5,2,2,5,5,5,5,PNR,5,5 --openat,295,257,257,322,56,288,247,251,275,275,286,286,56,288,288 --openat2,437,437,437,437,437,437,437,437,437,437,437,437,437,437,437 --open_by_handle_at,342,304,304,371,265,340,299,304,326,326,346,346,265,336,336 --open_tree,428,428,428,428,428,428,428,428,428,428,428,428,428,428,428 --pause,29,34,34,29,PNR,29,33,33,29,29,29,29,PNR,29,29 --pciconfig_iobase,PNR,PNR,PNR,271,PNR,PNR,PNR,PNR,PNR,PNR,200,200,PNR,PNR,PNR --pciconfig_read,PNR,PNR,PNR,272,PNR,PNR,PNR,PNR,PNR,PNR,198,198,PNR,PNR,PNR --pciconfig_write,PNR,PNR,PNR,273,PNR,PNR,PNR,PNR,PNR,PNR,199,199,PNR,PNR,PNR --perf_event_open,336,298,298,364,241,333,292,296,318,318,319,319,241,331,331 --personality,136,135,135,136,92,136,132,132,136,136,136,136,92,136,136 --pidfd_getfd,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438 --pidfd_open,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434 --pidfd_send_signal,424,424,424,424,424,424,424,424,424,424,424,424,424,424,424 --pipe,42,22,22,42,PNR,42,21,21,42,42,42,42,PNR,42,42 --pipe2,331,293,293,359,59,328,287,291,313,313,317,317,59,325,325 --pivot_root,217,155,155,218,41,216,151,151,67,67,203,203,41,217,217 --pkey_alloc,381,330,330,395,289,364,324,328,352,352,384,384,289,385,385 --pkey_free,382,331,331,396,290,365,325,329,353,353,385,385,290,386,386 --pkey_mprotect,380,329,329,394,288,363,323,327,351,351,386,386,288,384,384 --poll,168,7,7,168,PNR,188,7,7,168,168,167,167,PNR,168,168 --ppoll,309,271,271,336,73,302,261,265,274,274,281,281,73,302,302 --ppoll_time64,414,PNR,PNR,414,PNR,414,PNR,414,414,PNR,414,PNR,PNR,414,PNR --prctl,172,157,157,172,167,192,153,153,172,172,171,171,167,172,172 --pread64,180,17,17,180,67,200,16,16,108,108,179,179,67,180,180 --preadv,333,295,534,361,69,330,289,293,315,315,320,320,69,328,328 --preadv2,378,327,546,392,286,361,321,325,347,347,380,380,286,376,376 --prlimit64,340,302,302,369,261,338,297,302,321,321,325,325,261,334,334 --process_madvise,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440 --process_mrelease,448,448,448,448,448,448,448,448,448,448,448,448,448,448,448 --process_vm_readv,347,310,539,376,270,345,304,309,330,330,351,351,270,340,340 --process_vm_writev,348,311,540,377,271,346,305,310,331,331,352,352,271,341,341 --prof,44,PNR,PNR,PNR,PNR,44,PNR,PNR,PNR,PNR,44,44,PNR,PNR,PNR --profil,98,PNR,PNR,PNR,PNR,98,PNR,PNR,PNR,PNR,98,98,PNR,PNR,PNR --pselect6,308,270,270,335,72,301,260,264,273,273,280,280,72,301,301 --pselect6_time64,413,PNR,PNR,413,PNR,413,PNR,413,413,PNR,413,PNR,PNR,413,PNR --ptrace,26,101,521,26,117,26,99,99,26,26,26,26,117,26,26 --putpmsg,189,182,182,PNR,PNR,209,175,175,PNR,PNR,188,188,PNR,189,189 --pwrite64,181,18,18,181,68,201,17,17,109,109,180,180,68,181,181 --pwritev,334,296,535,362,70,331,290,294,316,316,321,321,70,329,329 --pwritev2,379,328,547,393,287,362,322,326,348,348,381,381,287,377,377 --query_module,167,178,PNR,PNR,PNR,187,171,171,PNR,PNR,166,166,PNR,167,167 --quotactl,131,179,179,131,60,131,172,172,131,131,131,131,60,131,131 --quotactl_fd,443,443,443,443,443,443,443,443,443,443,443,443,443,443,443 --read,3,0,0,3,63,3,0,0,3,3,3,3,63,3,3 --readahead,225,187,187,225,213,223,179,179,207,207,191,191,213,222,222 --readdir,89,PNR,PNR,PNR,PNR,89,PNR,PNR,PNR,PNR,89,89,PNR,89,89 --readlink,85,89,89,85,PNR,85,87,87,85,85,85,85,PNR,85,85 --readlinkat,305,267,267,332,78,298,257,261,285,285,296,296,78,298,298 --readv,145,19,515,145,65,145,18,18,145,145,145,145,65,145,145 --reboot,88,169,169,88,142,88,164,164,88,88,88,88,142,88,88 --recv,PNR,PNR,PNR,291,PNR,175,PNR,PNR,98,98,336,336,PNR,PNR,PNR --recvfrom,371,45,517,292,207,176,44,44,123,123,337,337,207,371,371 --recvmmsg,337,299,537,365,243,335,294,298,319,319,343,343,243,357,357 --recvmmsg_time64,417,PNR,PNR,417,PNR,417,PNR,417,417,PNR,417,PNR,PNR,417,PNR --recvmsg,372,47,519,297,212,177,46,46,184,184,342,342,212,372,372 --remap_file_pages,257,216,216,253,234,251,210,210,227,227,239,239,234,267,267 --removexattr,235,197,197,235,14,233,189,189,247,247,218,218,14,233,233 --rename,38,82,82,38,PNR,38,80,80,38,38,38,38,PNR,38,38 --renameat,302,264,264,329,38,295,254,258,282,282,293,293,PNR,295,295 --renameat2,353,316,316,382,276,351,311,315,337,337,357,357,276,347,347 --request_key,287,249,249,310,218,281,240,244,265,265,270,270,218,279,279 --restart_syscall,0,219,219,0,128,253,213,214,0,0,0,0,128,7,7 --riscv_flush_icache,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,259,PNR,PNR --rmdir,40,84,84,40,PNR,40,82,82,40,40,40,40,PNR,40,40 --rseq,386,334,334,398,293,367,327,331,354,354,387,387,293,383,383 --rtas,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,255,255,PNR,PNR,PNR --rt_sigaction,174,13,512,174,134,194,13,13,174,174,173,173,134,174,174 --rt_sigpending,176,127,522,176,136,196,125,125,176,176,175,175,136,176,176 --rt_sigprocmask,175,14,14,175,135,195,14,14,175,175,174,174,135,175,175 --rt_sigqueueinfo,178,129,524,178,138,198,127,127,178,178,177,177,138,178,178 --rt_sigreturn,173,15,513,173,139,193,211,211,173,173,172,172,139,173,173 --rt_sigsuspend,179,130,130,179,133,199,128,128,179,179,178,178,133,179,179 --rt_sigtimedwait,177,128,523,177,137,197,126,126,177,177,176,176,137,177,177 --rt_sigtimedwait_time64,421,PNR,PNR,421,PNR,421,PNR,421,421,PNR,421,PNR,PNR,421,PNR --rt_tgsigqueueinfo,335,297,536,363,240,332,291,295,317,317,322,322,240,330,330 --s390_guarded_storage,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,378,378 --s390_pci_mmio_read,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,353,353 --s390_pci_mmio_write,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,352,352 --s390_runtime_instr,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,342,342 --s390_sthyi,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,380,380 --sched_getaffinity,242,204,204,242,123,240,196,196,212,212,223,223,123,240,240 --sched_getattr,352,315,315,381,275,350,310,314,335,335,356,356,275,346,346 --sched_getparam,155,143,143,155,121,159,140,140,155,155,155,155,121,155,155 --sched_get_priority_max,159,146,146,159,125,163,143,143,159,159,159,159,125,159,159 --sched_get_priority_min,160,147,147,160,126,164,144,144,160,160,160,160,126,160,160 --sched_getscheduler,157,145,145,157,120,161,142,142,157,157,157,157,120,157,157 --sched_rr_get_interval,161,148,148,161,127,165,145,145,161,161,161,161,127,161,161 --sched_rr_get_interval_time64,423,PNR,PNR,423,PNR,423,PNR,423,423,PNR,423,PNR,PNR,423,PNR --sched_setaffinity,241,203,203,241,122,239,195,195,211,211,222,222,122,239,239 --sched_setattr,351,314,314,380,274,349,309,313,334,334,355,355,274,345,345 --sched_setparam,154,142,142,154,118,158,139,139,154,154,154,154,118,154,154 --sched_setscheduler,156,144,144,156,119,160,141,141,156,156,156,156,119,156,156 --sched_yield,158,24,24,158,124,162,23,23,158,158,158,158,124,158,158 --seccomp,354,317,317,383,277,352,312,316,338,338,358,358,277,348,348 --security,PNR,185,185,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR --select,82,23,23,PNR,PNR,PNR,PNR,PNR,PNR,PNR,82,82,PNR,PNR,142 --semctl,394,66,66,300,191,394,64,64,187,187,394,394,191,394,394 --semget,393,64,64,299,190,393,62,62,186,186,393,393,190,393,393 --semop,PNR,65,65,298,193,PNR,63,63,185,185,PNR,PNR,193,PNR,PNR --semtimedop,PNR,220,220,312,192,PNR,214,215,228,228,PNR,392,192,PNR,392 --semtimedop_time64,420,PNR,PNR,420,PNR,420,PNR,420,420,PNR,420,PNR,PNR,420,PNR --send,PNR,PNR,PNR,289,PNR,178,PNR,PNR,58,58,334,334,PNR,PNR,PNR --sendfile,187,40,40,187,71,207,39,39,122,122,186,186,71,187,187 --sendfile64,239,PNR,PNR,239,PNR,237,PNR,219,209,209,226,PNR,PNR,223,PNR --sendmmsg,345,307,538,374,269,343,302,307,329,329,349,349,269,358,358 --sendmsg,370,46,518,296,211,179,45,45,183,183,341,341,211,370,370 --sendto,369,44,44,290,206,180,43,43,82,82,335,335,206,369,369 --setdomainname,121,171,171,121,162,121,166,166,121,121,121,121,162,121,121 --setfsgid,139,123,123,139,152,139,121,121,139,139,139,139,152,139,216 --setfsgid32,216,PNR,PNR,216,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,216,PNR --setfsuid,138,122,122,138,151,138,120,120,138,138,138,138,151,138,215 --setfsuid32,215,PNR,PNR,215,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,215,PNR --setgid,46,106,106,46,144,46,104,104,46,46,46,46,144,46,214 --setgid32,214,PNR,PNR,214,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,214,PNR --setgroups,81,116,116,81,159,81,114,114,81,81,81,81,159,81,206 --setgroups32,206,PNR,PNR,206,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,206,PNR --sethostname,74,170,170,74,161,74,165,165,74,74,74,74,161,74,74 --setitimer,104,38,38,104,103,104,36,36,104,104,104,104,103,104,104 --set_mempolicy,276,238,238,321,237,270,229,233,262,262,261,261,237,270,270 --set_mempolicy_home_node,450,450,450,450,450,450,450,450,450,450,450,450,450,450,450 --setns,346,308,308,375,268,344,303,308,328,328,350,350,268,339,339 --setpgid,57,109,109,57,154,57,107,107,57,57,57,57,154,57,57 --setpriority,97,141,141,97,140,97,138,138,97,97,97,97,140,97,97 --setregid,71,114,114,71,143,71,112,112,71,71,71,71,143,71,204 --setregid32,204,PNR,PNR,204,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,204,PNR --setresgid,170,119,119,170,149,190,117,117,170,170,169,169,149,170,210 --setresgid32,210,PNR,PNR,210,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,210,PNR --setresuid,164,117,117,164,147,185,115,115,164,164,164,164,147,164,208 --setresuid32,208,PNR,PNR,208,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,208,PNR --setreuid,70,113,113,70,145,70,111,111,70,70,70,70,145,70,203 --setreuid32,203,PNR,PNR,203,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,203,PNR --setrlimit,75,160,160,75,164,75,155,155,75,75,75,75,164,75,75 --set_robust_list,311,273,530,338,99,309,268,272,289,289,300,300,99,304,304 --setsid,66,112,112,66,157,66,110,110,66,66,66,66,157,66,66 --setsockopt,366,54,541,294,208,181,53,53,181,181,339,339,208,366,366 --set_thread_area,243,205,PNR,PNR,PNR,283,242,246,PNR,PNR,PNR,PNR,PNR,PNR,PNR --set_tid_address,258,218,218,256,96,252,212,213,237,237,232,232,96,252,252 --settimeofday,79,164,164,79,170,79,159,159,79,79,79,79,170,79,79 --set_tls,PNR,PNR,PNR,983045,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR --setuid,23,105,105,23,146,23,103,103,23,23,23,23,146,23,213 --setuid32,213,PNR,PNR,213,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,213,PNR --setxattr,226,188,188,226,5,224,180,180,238,238,209,209,5,224,224 --sgetmask,68,PNR,PNR,PNR,PNR,68,PNR,PNR,68,68,68,68,PNR,PNR,PNR --shmat,397,30,30,305,196,397,29,29,192,192,397,397,196,397,397 --shmctl,396,31,31,308,195,396,30,30,195,195,396,396,195,396,396 --shmdt,398,67,67,306,197,398,65,65,193,193,398,398,197,398,398 --shmget,395,29,29,307,194,395,28,28,194,194,395,395,194,395,395 --shutdown,373,48,48,293,210,182,47,47,117,117,338,338,210,373,373 --sigaction,67,PNR,PNR,67,PNR,67,PNR,PNR,PNR,PNR,67,67,PNR,67,67 --sigaltstack,186,131,525,186,132,206,129,129,166,166,185,185,132,186,186 --signal,48,PNR,PNR,PNR,PNR,48,PNR,PNR,48,48,48,48,PNR,48,48 --signalfd,321,282,282,349,PNR,317,276,280,302,302,305,305,PNR,316,316 --signalfd4,327,289,289,355,74,324,283,287,309,309,313,313,74,322,322 --sigpending,73,PNR,PNR,73,PNR,73,PNR,PNR,73,73,73,73,PNR,73,73 --sigprocmask,126,PNR,PNR,126,PNR,126,PNR,PNR,126,126,126,126,PNR,126,126 --sigreturn,119,PNR,PNR,119,PNR,119,PNR,PNR,PNR,PNR,119,119,PNR,119,119 --sigsuspend,72,PNR,PNR,72,PNR,72,PNR,PNR,PNR,PNR,72,72,PNR,72,72 --socket,359,41,41,281,198,183,40,40,17,17,326,326,198,359,359 --socketcall,102,PNR,PNR,PNR,PNR,102,PNR,PNR,PNR,PNR,102,102,PNR,102,102 --socketpair,360,53,53,288,199,184,52,52,56,56,333,333,199,360,360 --splice,313,275,275,340,76,304,263,267,291,291,283,283,76,306,306 --spu_create,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,279,279,PNR,PNR,PNR --spu_run,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,278,278,PNR,PNR,PNR --ssetmask,69,PNR,PNR,PNR,PNR,69,PNR,PNR,69,69,69,69,PNR,PNR,PNR --stat,106,4,4,106,PNR,106,4,4,18,18,106,106,PNR,106,106 --stat64,195,PNR,PNR,195,PNR,213,PNR,PNR,101,101,195,PNR,PNR,195,PNR --statfs,99,137,137,99,43,99,134,134,99,99,99,99,43,99,99 --statfs64,268,PNR,PNR,266,PNR,255,PNR,217,298,298,252,252,PNR,265,265 --statx,383,332,332,397,291,366,326,330,349,349,383,383,291,379,379 --stime,25,PNR,PNR,PNR,PNR,25,PNR,PNR,25,25,25,25,PNR,25,PNR --stty,31,PNR,PNR,PNR,PNR,31,PNR,PNR,PNR,PNR,31,31,PNR,PNR,PNR --subpage_prot,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,310,310,PNR,PNR,PNR --swapcontext,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,249,249,PNR,PNR,PNR --swapoff,115,168,168,115,225,115,163,163,115,115,115,115,225,115,115 --swapon,87,167,167,87,224,87,162,162,87,87,87,87,224,87,87 --switch_endian,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,363,363,PNR,PNR,PNR --symlink,83,88,88,83,PNR,83,86,86,83,83,83,83,PNR,83,83 --symlinkat,304,266,266,331,36,297,256,260,284,284,295,295,36,297,297 --sync,36,162,162,36,81,36,157,157,36,36,36,36,81,36,36 --sync_file_range,314,277,277,PNR,84,305,264,268,292,292,PNR,PNR,84,307,307 --sync_file_range2,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,308,308,PNR,PNR,PNR --syncfs,344,306,306,373,267,342,301,306,327,327,348,348,267,338,338 --syscall,PNR,PNR,PNR,PNR,PNR,0,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR --_sysctl,149,156,PNR,149,PNR,153,152,152,149,149,149,149,PNR,149,149 --sys_debug_setcontext,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,256,256,PNR,PNR,PNR --sysfs,135,139,139,135,PNR,135,136,136,135,135,135,135,PNR,135,135 --sysinfo,116,99,99,116,179,116,97,97,116,116,116,116,179,116,116 --syslog,103,103,103,103,116,103,101,101,103,103,103,103,116,103,103 --sysmips,PNR,PNR,PNR,PNR,PNR,149,199,199,PNR,PNR,PNR,PNR,PNR,PNR,PNR --tee,315,276,276,342,77,306,265,269,293,293,284,284,77,308,308 --tgkill,270,234,234,268,131,266,225,229,259,259,250,250,131,241,241 --time,13,201,201,PNR,PNR,13,PNR,PNR,13,13,13,13,PNR,13,PNR --timer_create,259,222,526,257,107,257,216,220,250,250,240,240,107,254,254 --timer_delete,263,226,226,261,111,261,220,224,254,254,244,244,111,258,258 --timerfd,PNR,PNR,PNR,PNR,PNR,318,277,281,PNR,PNR,PNR,PNR,PNR,317,317 --timerfd_create,322,283,283,350,85,321,280,284,306,306,306,306,85,319,319 --timerfd_gettime,326,287,287,354,87,322,281,285,308,308,312,312,87,321,321 --timerfd_gettime64,410,PNR,PNR,410,PNR,410,PNR,410,410,PNR,410,PNR,PNR,410,PNR --timerfd_settime,325,286,286,353,86,323,282,286,307,307,311,311,86,320,320 --timerfd_settime64,411,PNR,PNR,411,PNR,411,PNR,411,411,PNR,411,PNR,PNR,411,PNR --timer_getoverrun,262,225,225,260,109,260,219,223,253,253,243,243,109,257,257 --timer_gettime,261,224,224,259,108,259,218,222,252,252,242,242,108,256,256 --timer_gettime64,408,PNR,PNR,408,PNR,408,PNR,408,408,PNR,408,PNR,PNR,408,PNR --timer_settime,260,223,223,258,110,258,217,221,251,251,241,241,110,255,255 --timer_settime64,409,PNR,PNR,409,PNR,409,PNR,409,409,PNR,409,PNR,PNR,409,PNR --times,43,100,100,43,153,43,98,98,43,43,43,43,153,43,43 --tkill,238,200,200,238,130,236,192,192,208,208,208,208,130,237,237 --truncate,92,76,76,92,45,92,74,74,92,92,92,92,45,92,92 --truncate64,193,PNR,PNR,193,PNR,211,PNR,PNR,199,199,193,PNR,PNR,193,PNR --tuxcall,PNR,184,184,PNR,PNR,PNR,PNR,PNR,PNR,PNR,225,225,PNR,PNR,PNR --ugetrlimit,191,PNR,PNR,191,PNR,PNR,PNR,PNR,PNR,PNR,190,190,PNR,191,PNR --ulimit,58,PNR,PNR,PNR,PNR,58,PNR,PNR,PNR,PNR,58,58,PNR,PNR,PNR --umask,60,95,95,60,166,60,93,93,60,60,60,60,166,60,60 --umount,22,PNR,PNR,PNR,PNR,22,PNR,PNR,PNR,PNR,22,22,PNR,22,22 --umount2,52,166,166,52,39,52,161,161,52,52,52,52,39,52,52 --uname,122,63,63,122,160,122,61,61,59,59,122,122,160,122,122 --unlink,10,87,87,10,PNR,10,85,85,10,10,10,10,PNR,10,10 --unlinkat,301,263,263,328,35,294,253,257,281,281,292,292,35,294,294 --unshare,310,272,272,337,97,303,262,266,288,288,282,282,97,303,303 --uselib,86,134,PNR,86,PNR,86,PNR,PNR,86,86,86,86,PNR,86,86 --userfaultfd,374,323,323,388,282,357,317,321,344,344,364,364,282,355,355 --usr26,PNR,PNR,PNR,983043,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR --usr32,PNR,PNR,PNR,983044,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR --ustat,62,136,136,62,PNR,62,133,133,62,62,62,62,PNR,62,62 --utime,30,132,132,PNR,PNR,30,130,130,30,30,30,30,PNR,30,30 --utimensat,320,280,280,348,88,316,275,279,301,301,304,304,88,315,315 --utimensat_time64,412,PNR,PNR,412,PNR,412,PNR,412,412,PNR,412,PNR,PNR,412,PNR --utimes,271,235,235,269,PNR,267,226,230,336,336,251,251,PNR,313,313 --vfork,190,58,58,190,PNR,PNR,PNR,PNR,113,113,189,189,PNR,190,190 --vhangup,111,153,153,111,58,111,150,150,111,111,111,111,58,111,111 --vm86,166,PNR,PNR,PNR,PNR,113,PNR,PNR,PNR,PNR,113,113,PNR,PNR,PNR --vm86old,113,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR --vmsplice,316,278,532,343,75,307,266,270,294,294,285,285,75,309,309 --vserver,273,236,PNR,313,PNR,277,236,240,PNR,PNR,PNR,PNR,PNR,PNR,PNR --wait4,114,61,61,114,260,114,59,59,114,114,114,114,260,114,114 --waitid,284,247,529,280,95,278,237,241,235,235,272,272,95,281,281 --waitpid,7,PNR,PNR,PNR,PNR,7,PNR,PNR,7,7,7,7,PNR,PNR,PNR --write,4,1,1,4,64,4,1,1,4,4,4,4,64,4,4 --writev,146,20,516,146,66,146,19,19,146,146,146,146,66,146,146 -+#syscall (v6.12.0-rc5 2024-10-31),x86,x86_64,x32,arm,aarch64,loongarch64,mips,mips64,mips64n32,parisc,parisc64,ppc,ppc64,riscv64,s390,s390x -+accept,PNR,43,43,285,202,202,168,42,42,35,35,330,330,202,PNR,PNR -+accept4,364,288,288,366,242,242,334,293,297,320,320,344,344,242,364,364 -+access,33,21,21,33,PNR,PNR,33,20,20,33,33,33,33,PNR,33,33 -+acct,51,163,163,51,89,89,51,158,158,51,51,51,51,89,51,51 -+add_key,286,248,248,309,217,217,280,239,243,264,264,269,269,217,278,278 -+adjtimex,124,159,159,124,171,171,124,154,154,124,124,124,124,171,124,124 -+afs_syscall,137,183,183,PNR,PNR,PNR,137,176,176,PNR,PNR,137,137,PNR,137,137 -+alarm,27,37,37,PNR,PNR,PNR,27,37,37,27,27,27,27,PNR,27,27 -+arch_prctl,384,158,158,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR -+arm_fadvise64_64,PNR,PNR,PNR,270,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR -+arm_sync_file_range,PNR,PNR,PNR,341,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR -+bdflush,134,PNR,PNR,134,PNR,PNR,134,PNR,PNR,134,134,134,134,PNR,134,134 -+bind,361,49,49,282,200,200,169,48,48,22,22,327,327,200,361,361 -+bpf,357,321,321,386,280,280,355,315,319,341,341,361,361,280,351,351 -+break,17,PNR,PNR,PNR,PNR,PNR,17,PNR,PNR,PNR,PNR,17,17,PNR,PNR,PNR -+breakpoint,PNR,PNR,PNR,983041,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR -+brk,45,12,12,45,214,214,45,12,12,45,45,45,45,214,45,45 -+cachectl,PNR,PNR,PNR,PNR,PNR,PNR,148,198,198,PNR,PNR,PNR,PNR,PNR,PNR,PNR -+cacheflush,PNR,PNR,PNR,983042,PNR,PNR,147,197,197,356,356,PNR,PNR,PNR,PNR,PNR -+cachestat,451,451,451,451,451,451,451,451,451,451,451,451,451,451,451,451 -+capget,184,125,125,184,90,90,204,123,123,106,106,183,183,90,184,184 -+capset,185,126,126,185,91,91,205,124,124,107,107,184,184,91,185,185 -+chdir,12,80,80,12,49,49,12,78,78,12,12,12,12,49,12,12 -+chmod,15,90,90,15,PNR,PNR,15,88,88,15,15,15,15,PNR,15,15 -+chown,182,92,92,182,PNR,PNR,202,90,90,180,180,181,181,PNR,182,212 -+chown32,212,PNR,PNR,212,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,212,PNR -+chroot,61,161,161,61,51,51,61,156,156,61,61,61,61,51,61,61 -+clock_adjtime,343,305,305,372,266,266,341,300,305,324,324,347,347,266,337,337 -+clock_adjtime64,405,PNR,PNR,405,PNR,PNR,405,PNR,405,405,PNR,405,PNR,PNR,405,PNR -+clock_getres,266,229,229,264,114,114,264,223,227,257,257,247,247,114,261,261 -+clock_getres_time64,406,PNR,PNR,406,PNR,PNR,406,PNR,406,406,PNR,406,PNR,PNR,406,PNR -+clock_gettime,265,228,228,263,113,113,263,222,226,256,256,246,246,113,260,260 -+clock_gettime64,403,PNR,PNR,403,PNR,PNR,403,PNR,403,403,PNR,403,PNR,PNR,403,PNR -+clock_nanosleep,267,230,230,265,115,115,265,224,228,258,258,248,248,115,262,262 -+clock_nanosleep_time64,407,PNR,PNR,407,PNR,PNR,407,PNR,407,407,PNR,407,PNR,PNR,407,PNR -+clock_settime,264,227,227,262,112,112,262,221,225,255,255,245,245,112,259,259 -+clock_settime64,404,PNR,PNR,404,PNR,PNR,404,PNR,404,404,PNR,404,PNR,PNR,404,PNR -+clone,120,56,56,120,220,220,120,55,55,120,120,120,120,220,120,120 -+clone3,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435,435 -+close,6,3,3,6,57,57,6,3,3,6,6,6,6,57,6,6 -+close_range,436,436,436,436,436,436,436,436,436,436,436,436,436,436,436,436 -+connect,362,42,42,283,203,203,170,41,41,31,31,328,328,203,362,362 -+copy_file_range,377,326,326,391,285,285,360,320,324,346,346,379,379,285,375,375 -+creat,8,85,85,8,PNR,PNR,8,83,83,8,8,8,8,PNR,8,8 -+create_module,127,174,PNR,PNR,PNR,PNR,127,167,167,PNR,PNR,127,127,PNR,127,127 -+delete_module,129,176,176,129,106,106,129,169,169,129,129,129,129,106,129,129 -+dup,41,32,32,41,23,23,41,31,31,41,41,41,41,23,41,41 -+dup2,63,33,33,63,PNR,PNR,63,32,32,63,63,63,63,PNR,63,63 -+dup3,330,292,292,358,24,24,327,286,290,312,312,316,316,24,326,326 -+epoll_create,254,213,213,250,PNR,PNR,248,207,207,224,224,236,236,PNR,249,249 -+epoll_create1,329,291,291,357,20,20,326,285,289,311,311,315,315,20,327,327 -+epoll_ctl,255,233,233,251,21,21,249,208,208,225,225,237,237,21,250,250 -+epoll_ctl_old,PNR,214,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR -+epoll_pwait,319,281,281,346,22,22,313,272,276,297,297,303,303,22,312,312 -+epoll_pwait2,441,441,441,441,441,441,441,441,441,441,441,441,441,441,441,441 -+epoll_wait,256,232,232,252,PNR,PNR,250,209,209,226,226,238,238,PNR,251,251 -+epoll_wait_old,PNR,215,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR -+eventfd,323,284,284,351,PNR,PNR,319,278,282,304,304,307,307,PNR,318,318 -+eventfd2,328,290,290,356,19,19,325,284,288,310,310,314,314,19,323,323 -+execve,11,59,520,11,221,221,11,57,57,11,11,11,11,221,11,11 -+execveat,358,322,545,387,281,281,356,316,320,342,342,362,362,281,354,354 -+exit,1,60,60,1,93,93,1,58,58,1,1,1,1,93,1,1 -+exit_group,252,231,231,248,94,94,246,205,205,222,222,234,234,94,248,248 -+faccessat,307,269,269,334,48,48,300,259,263,287,287,298,298,48,300,300 -+faccessat2,439,439,439,439,439,439,439,439,439,439,439,439,439,439,439,439 -+fadvise64,250,221,221,PNR,223,223,254,215,216,PNR,PNR,233,233,223,253,253 -+fadvise64_64,272,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,236,236,254,PNR,PNR,264,PNR -+fallocate,324,285,285,352,47,47,320,279,283,305,305,309,309,47,314,314 -+fanotify_init,338,300,300,367,262,262,336,295,300,322,322,323,323,262,332,332 -+fanotify_mark,339,301,301,368,263,263,337,296,301,323,323,324,324,263,333,333 -+fchdir,133,81,81,133,50,50,133,79,79,133,133,133,133,50,133,133 -+fchmod,94,91,91,94,52,52,94,89,89,94,94,94,94,52,94,94 -+fchmodat,306,268,268,333,53,53,299,258,262,286,286,297,297,53,299,299 -+fchmodat2,452,452,452,452,452,452,452,452,452,452,452,452,452,452,452,452 -+fchown,95,93,93,95,55,55,95,91,91,95,95,95,95,55,95,207 -+fchown32,207,PNR,PNR,207,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,207,PNR -+fchownat,298,260,260,325,54,54,291,250,254,278,278,289,289,54,291,291 -+fcntl,55,72,72,55,25,25,55,70,70,55,55,55,55,25,55,55 -+fcntl64,221,PNR,PNR,221,PNR,PNR,220,PNR,212,202,202,204,PNR,PNR,221,PNR -+fdatasync,148,75,75,148,83,83,152,73,73,148,148,148,148,83,148,148 -+fgetxattr,231,193,193,231,10,10,229,185,185,243,243,214,214,10,229,229 -+finit_module,350,313,313,379,273,273,348,307,312,333,333,353,353,273,344,344 -+flistxattr,234,196,196,234,13,13,232,188,188,246,246,217,217,13,232,232 -+flock,143,73,73,143,32,32,143,71,71,143,143,143,143,32,143,143 -+fork,2,57,57,2,PNR,PNR,2,56,56,2,2,2,2,PNR,2,2 -+fremovexattr,237,199,199,237,16,16,235,191,191,249,249,220,220,16,235,235 -+fsconfig,431,431,431,431,431,431,431,431,431,431,431,431,431,431,431,431 -+fsetxattr,228,190,190,228,7,7,226,182,182,240,240,211,211,7,226,226 -+fsmount,432,432,432,432,432,432,432,432,432,432,432,432,432,432,432,432 -+fsopen,430,430,430,430,430,430,430,430,430,430,430,430,430,430,430,430 -+fspick,433,433,433,433,433,433,433,433,433,433,433,433,433,433,433,433 -+fstat,108,5,5,108,80,80,108,5,5,28,28,108,108,80,108,108 -+fstat64,197,PNR,PNR,197,PNR,PNR,215,PNR,PNR,112,112,197,PNR,PNR,197,PNR -+fstatat64,300,PNR,PNR,327,PNR,PNR,293,PNR,PNR,280,280,291,PNR,PNR,293,PNR -+fstatfs,100,138,138,100,44,44,100,135,135,100,100,100,100,44,100,100 -+fstatfs64,269,PNR,PNR,267,PNR,PNR,256,PNR,218,299,299,253,253,PNR,266,266 -+fsync,118,74,74,118,82,82,118,72,72,118,118,118,118,82,118,118 -+ftime,35,PNR,PNR,PNR,PNR,PNR,35,PNR,PNR,PNR,PNR,35,35,PNR,PNR,PNR -+ftruncate,93,77,77,93,46,46,93,75,75,93,93,93,93,46,93,93 -+ftruncate64,194,PNR,PNR,194,PNR,PNR,212,PNR,PNR,200,200,194,PNR,PNR,194,PNR -+futex,240,202,202,240,98,98,238,194,194,210,210,221,221,98,238,238 -+futex_requeue,456,456,456,456,456,456,456,456,456,456,456,456,456,456,456,456 -+futex_time64,422,PNR,PNR,422,PNR,PNR,422,PNR,422,422,PNR,422,PNR,PNR,422,PNR -+futex_wait,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455,455 -+futex_waitv,449,449,449,449,449,449,449,449,449,449,449,449,449,449,449,449 -+futex_wake,454,454,454,454,454,454,454,454,454,454,454,454,454,454,454,454 -+futimesat,299,261,261,326,PNR,PNR,292,251,255,279,279,290,290,PNR,292,292 -+getcpu,318,309,309,345,168,168,312,271,275,296,296,302,302,168,311,311 -+getcwd,183,79,79,183,17,17,203,77,77,110,110,182,182,17,183,183 -+getdents,141,78,78,141,PNR,PNR,141,76,76,141,141,141,141,PNR,141,141 -+getdents64,220,217,217,217,61,61,219,308,299,201,201,202,202,61,220,220 -+getegid,50,108,108,50,177,177,50,106,106,50,50,50,50,177,50,202 -+getegid32,202,PNR,PNR,202,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,202,PNR -+geteuid,49,107,107,49,175,175,49,105,105,49,49,49,49,175,49,201 -+geteuid32,201,PNR,PNR,201,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,201,PNR -+getgid,47,104,104,47,176,176,47,102,102,47,47,47,47,176,47,200 -+getgid32,200,PNR,PNR,200,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,200,PNR -+getgroups,80,115,115,80,158,158,80,113,113,80,80,80,80,158,80,205 -+getgroups32,205,PNR,PNR,205,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,205,PNR -+getitimer,105,36,36,105,102,102,105,35,35,105,105,105,105,102,105,105 -+get_kernel_syms,130,177,PNR,PNR,PNR,PNR,130,170,170,PNR,PNR,130,130,PNR,130,130 -+get_mempolicy,275,239,239,320,236,236,269,228,232,261,261,260,260,236,269,269 -+getpeername,368,52,52,287,205,205,171,51,51,53,53,332,332,205,368,368 -+getpgid,132,121,121,132,155,155,132,119,119,132,132,132,132,155,132,132 -+getpgrp,65,111,111,65,PNR,PNR,65,109,109,65,65,65,65,PNR,65,65 -+getpid,20,39,39,20,172,172,20,38,38,20,20,20,20,172,20,20 -+getpmsg,188,181,181,PNR,PNR,PNR,208,174,174,PNR,PNR,187,187,PNR,188,188 -+getppid,64,110,110,64,173,173,64,108,108,64,64,64,64,173,64,64 -+getpriority,96,140,140,96,141,141,96,137,137,96,96,96,96,141,96,96 -+getrandom,355,318,318,384,278,278,353,313,317,339,339,359,359,278,349,349 -+getresgid,171,120,120,171,150,150,191,118,118,171,171,170,170,150,171,211 -+getresgid32,211,PNR,PNR,211,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,211,PNR -+getresuid,165,118,118,165,148,148,186,116,116,165,165,165,165,148,165,209 -+getresuid32,209,PNR,PNR,209,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,209,PNR -+getrlimit,76,97,97,PNR,163,PNR,76,95,95,76,76,76,76,163,76,191 -+get_robust_list,312,274,531,339,100,100,310,269,273,290,290,299,299,100,305,305 -+getrusage,77,98,98,77,165,165,77,96,96,77,77,77,77,165,77,77 -+getsid,147,124,124,147,156,156,151,122,122,147,147,147,147,156,147,147 -+getsockname,367,51,51,286,204,204,172,50,50,44,44,331,331,204,367,367 -+getsockopt,365,55,542,295,209,209,173,54,54,182,182,340,340,209,365,365 -+get_thread_area,244,211,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR -+gettid,224,186,186,224,178,178,222,178,178,206,206,207,207,178,236,236 -+gettimeofday,78,96,96,78,169,169,78,94,94,78,78,78,78,169,78,78 -+get_tls,PNR,PNR,PNR,983046,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR -+getuid,24,102,102,24,174,174,24,100,100,24,24,24,24,174,24,199 -+getuid32,199,PNR,PNR,199,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,199,PNR -+getxattr,229,191,191,229,8,8,227,183,183,241,241,212,212,8,227,227 -+gtty,32,PNR,PNR,PNR,PNR,PNR,32,PNR,PNR,PNR,PNR,32,32,PNR,PNR,PNR -+idle,112,PNR,PNR,PNR,PNR,PNR,112,PNR,PNR,PNR,PNR,112,112,PNR,112,112 -+init_module,128,175,175,128,105,105,128,168,168,128,128,128,128,105,128,128 -+inotify_add_watch,292,254,254,317,27,27,285,244,248,270,270,276,276,27,285,285 -+inotify_init,291,253,253,316,PNR,PNR,284,243,247,269,269,275,275,PNR,284,284 -+inotify_init1,332,294,294,360,26,26,329,288,292,314,314,318,318,26,324,324 -+inotify_rm_watch,293,255,255,318,28,28,286,245,249,271,271,277,277,28,286,286 -+io_cancel,249,210,210,247,3,3,245,204,204,219,219,231,231,3,247,247 -+ioctl,54,16,514,54,29,29,54,15,15,54,54,54,54,29,54,54 -+io_destroy,246,207,207,244,1,1,242,201,201,216,216,228,228,1,244,244 -+io_getevents,247,208,208,245,4,4,243,202,202,217,217,229,229,4,245,245 -+ioperm,101,173,173,PNR,PNR,PNR,101,PNR,PNR,PNR,PNR,101,101,PNR,101,PNR -+io_pgetevents,385,333,333,399,292,292,368,328,332,350,350,388,388,292,382,382 -+io_pgetevents_time64,416,PNR,PNR,416,PNR,PNR,416,PNR,416,416,PNR,416,PNR,PNR,416,PNR -+iopl,110,172,172,PNR,PNR,PNR,110,PNR,PNR,PNR,PNR,110,110,PNR,PNR,PNR -+ioprio_get,290,252,252,315,31,31,315,274,278,268,268,274,274,31,283,283 -+ioprio_set,289,251,251,314,30,30,314,273,277,267,267,273,273,30,282,282 -+io_setup,245,206,543,243,0,0,241,200,200,215,215,227,227,0,243,243 -+io_submit,248,209,544,246,2,2,244,203,203,218,218,230,230,2,246,246 -+io_uring_enter,426,426,426,426,426,426,426,426,426,426,426,426,426,426,426,426 -+io_uring_register,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427,427 -+io_uring_setup,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425,425 -+ipc,117,PNR,PNR,PNR,PNR,PNR,117,PNR,PNR,PNR,PNR,117,117,PNR,117,117 -+kcmp,349,312,312,378,272,272,347,306,311,332,332,354,354,272,343,343 -+kexec_file_load,PNR,320,320,401,294,294,PNR,PNR,PNR,355,355,382,382,294,381,381 -+kexec_load,283,246,528,347,104,104,311,270,274,300,300,268,268,104,277,277 -+keyctl,288,250,250,311,219,219,282,241,245,266,266,271,271,219,280,280 -+kill,37,62,62,37,129,129,37,60,60,37,37,37,37,129,37,37 -+landlock_add_rule,445,445,445,445,445,445,445,445,445,445,445,445,445,445,445,445 -+landlock_create_ruleset,444,444,444,444,444,444,444,444,444,444,444,444,444,444,444,444 -+landlock_restrict_self,446,446,446,446,446,446,446,446,446,446,446,446,446,446,446,446 -+lchown,16,94,94,16,PNR,PNR,16,92,92,16,16,16,16,PNR,16,198 -+lchown32,198,PNR,PNR,198,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,198,PNR -+lgetxattr,230,192,192,230,9,9,228,184,184,242,242,213,213,9,228,228 -+link,9,86,86,9,PNR,PNR,9,84,84,9,9,9,9,PNR,9,9 -+linkat,303,265,265,330,37,37,296,255,259,283,283,294,294,37,296,296 -+listen,363,50,50,284,201,201,174,49,49,32,32,329,329,201,363,363 -+listmount,458,458,458,458,458,458,458,458,458,458,458,458,458,458,458,458 -+listxattr,232,194,194,232,11,11,230,186,186,244,244,215,215,11,230,230 -+llistxattr,233,195,195,233,12,12,231,187,187,245,245,216,216,12,231,231 -+_llseek,140,PNR,PNR,140,PNR,PNR,140,PNR,PNR,140,140,140,140,PNR,140,PNR -+lock,53,PNR,PNR,PNR,PNR,PNR,53,PNR,PNR,PNR,PNR,53,53,PNR,PNR,PNR -+lookup_dcookie,253,212,212,249,18,18,247,206,206,223,223,235,235,18,110,110 -+lremovexattr,236,198,198,236,15,15,234,190,190,248,248,219,219,15,234,234 -+lseek,19,8,8,19,62,62,19,8,8,19,19,19,19,62,19,19 -+lsetxattr,227,189,189,227,6,6,225,181,181,239,239,210,210,6,225,225 -+lsm_get_self_attr,459,459,459,459,459,459,459,459,459,459,459,459,459,459,459,459 -+lsm_list_modules,461,461,461,461,461,461,461,461,461,461,461,461,461,461,461,461 -+lsm_set_self_attr,460,460,460,460,460,460,460,460,460,460,460,460,460,460,460,460 -+lstat,107,6,6,107,PNR,PNR,107,6,6,84,84,107,107,PNR,107,107 -+lstat64,196,PNR,PNR,196,PNR,PNR,214,PNR,PNR,198,198,196,PNR,PNR,196,PNR -+madvise,219,28,28,220,233,233,218,27,27,119,119,205,205,233,219,219 -+map_shadow_stack,453,453,453,453,453,453,453,453,453,453,453,453,453,453,453,453 -+mbind,274,237,237,319,235,235,268,227,231,260,260,259,259,235,268,268 -+membarrier,375,324,324,389,283,283,358,318,322,343,343,365,365,283,356,356 -+memfd_create,356,319,319,385,279,279,354,314,318,340,340,360,360,279,350,350 -+memfd_secret,447,447,447,PNR,447,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,447,447,447 -+migrate_pages,294,256,256,400,238,238,287,246,250,272,272,258,258,238,287,287 -+mincore,218,27,27,219,232,232,217,26,26,72,72,206,206,232,218,218 -+mkdir,39,83,83,39,PNR,PNR,39,81,81,39,39,39,39,PNR,39,39 -+mkdirat,296,258,258,323,34,34,289,248,252,276,276,287,287,34,289,289 -+mknod,14,133,133,14,PNR,PNR,14,131,131,14,14,14,14,PNR,14,14 -+mknodat,297,259,259,324,33,33,290,249,253,277,277,288,288,33,290,290 -+mlock,150,149,149,150,228,228,154,146,146,150,150,150,150,228,150,150 -+mlock2,376,325,325,390,284,284,359,319,323,345,345,378,378,284,374,374 -+mlockall,152,151,151,152,230,230,156,148,148,152,152,152,152,230,152,152 -+mmap,90,9,9,PNR,222,222,90,9,9,90,90,90,90,222,90,90 -+mmap2,192,PNR,PNR,192,PNR,PNR,210,PNR,PNR,89,89,192,PNR,PNR,192,PNR -+modify_ldt,123,154,154,PNR,PNR,PNR,123,PNR,PNR,PNR,PNR,123,123,PNR,PNR,PNR -+mount,21,165,165,21,40,40,21,160,160,21,21,21,21,40,21,21 -+mount_setattr,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442,442 -+move_mount,429,429,429,429,429,429,429,429,429,429,429,429,429,429,429,429 -+move_pages,317,279,533,344,239,239,308,267,271,295,295,301,301,239,310,310 -+mprotect,125,10,10,125,226,226,125,10,10,125,125,125,125,226,125,125 -+mpx,56,PNR,PNR,PNR,PNR,PNR,56,PNR,PNR,PNR,PNR,56,56,PNR,PNR,PNR -+mq_getsetattr,282,245,245,279,185,185,276,235,239,234,234,267,267,185,276,276 -+mq_notify,281,244,527,278,184,184,275,234,238,233,233,266,266,184,275,275 -+mq_open,277,240,240,274,180,180,271,230,234,229,229,262,262,180,271,271 -+mq_timedreceive,280,243,243,277,183,183,274,233,237,232,232,265,265,183,274,274 -+mq_timedreceive_time64,419,PNR,PNR,419,PNR,PNR,419,PNR,419,419,PNR,419,PNR,PNR,419,PNR -+mq_timedsend,279,242,242,276,182,182,273,232,236,231,231,264,264,182,273,273 -+mq_timedsend_time64,418,PNR,PNR,418,PNR,PNR,418,PNR,418,418,PNR,418,PNR,PNR,418,PNR -+mq_unlink,278,241,241,275,181,181,272,231,235,230,230,263,263,181,272,272 -+mremap,163,25,25,163,216,216,167,24,24,163,163,163,163,216,163,163 -+mseal,462,462,462,462,462,462,462,462,462,462,462,462,462,462,462,462 -+msgctl,402,71,71,304,187,187,402,69,69,191,191,402,402,187,402,402 -+msgget,399,68,68,303,186,186,399,66,66,190,190,399,399,186,399,399 -+msgrcv,401,70,70,302,188,188,401,68,68,189,189,401,401,188,401,401 -+msgsnd,400,69,69,301,189,189,400,67,67,188,188,400,400,189,400,400 -+msync,144,26,26,144,227,227,144,25,25,144,144,144,144,227,144,144 -+multiplexer,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,201,201,PNR,PNR,PNR -+munlock,151,150,150,151,229,229,155,147,147,151,151,151,151,229,151,151 -+munlockall,153,152,152,153,231,231,157,149,149,153,153,153,153,231,153,153 -+munmap,91,11,11,91,215,215,91,11,11,91,91,91,91,215,91,91 -+name_to_handle_at,341,303,303,370,264,264,339,298,303,325,325,345,345,264,335,335 -+nanosleep,162,35,35,162,101,101,166,34,34,162,162,162,162,101,162,162 -+newfstatat,PNR,262,262,PNR,79,79,PNR,252,256,PNR,PNR,PNR,291,79,PNR,293 -+_newselect,142,PNR,PNR,142,PNR,PNR,142,22,22,142,142,142,142,PNR,142,PNR -+nfsservctl,169,180,PNR,169,42,42,189,173,173,PNR,PNR,168,168,42,169,169 -+nice,34,PNR,PNR,34,PNR,PNR,34,PNR,PNR,34,34,34,34,PNR,34,34 -+oldfstat,28,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,28,28,PNR,PNR,PNR -+oldlstat,84,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,84,84,PNR,PNR,PNR -+oldolduname,59,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,59,59,PNR,PNR,PNR -+oldstat,18,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,18,18,PNR,PNR,PNR -+olduname,109,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,109,109,PNR,PNR,PNR -+open,5,2,2,5,PNR,PNR,5,2,2,5,5,5,5,PNR,5,5 -+openat,295,257,257,322,56,56,288,247,251,275,275,286,286,56,288,288 -+openat2,437,437,437,437,437,437,437,437,437,437,437,437,437,437,437,437 -+open_by_handle_at,342,304,304,371,265,265,340,299,304,326,326,346,346,265,336,336 -+open_tree,428,428,428,428,428,428,428,428,428,428,428,428,428,428,428,428 -+pause,29,34,34,29,PNR,PNR,29,33,33,29,29,29,29,PNR,29,29 -+pciconfig_iobase,PNR,PNR,PNR,271,PNR,PNR,PNR,PNR,PNR,PNR,PNR,200,200,PNR,PNR,PNR -+pciconfig_read,PNR,PNR,PNR,272,PNR,PNR,PNR,PNR,PNR,PNR,PNR,198,198,PNR,PNR,PNR -+pciconfig_write,PNR,PNR,PNR,273,PNR,PNR,PNR,PNR,PNR,PNR,PNR,199,199,PNR,PNR,PNR -+perf_event_open,336,298,298,364,241,241,333,292,296,318,318,319,319,241,331,331 -+personality,136,135,135,136,92,92,136,132,132,136,136,136,136,92,136,136 -+pidfd_getfd,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438,438 -+pidfd_open,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434,434 -+pidfd_send_signal,424,424,424,424,424,424,424,424,424,424,424,424,424,424,424,424 -+pipe,42,22,22,42,PNR,PNR,42,21,21,42,42,42,42,PNR,42,42 -+pipe2,331,293,293,359,59,59,328,287,291,313,313,317,317,59,325,325 -+pivot_root,217,155,155,218,41,41,216,151,151,67,67,203,203,41,217,217 -+pkey_alloc,381,330,330,395,289,289,364,324,328,352,352,384,384,289,385,385 -+pkey_free,382,331,331,396,290,290,365,325,329,353,353,385,385,290,386,386 -+pkey_mprotect,380,329,329,394,288,288,363,323,327,351,351,386,386,288,384,384 -+poll,168,7,7,168,PNR,PNR,188,7,7,168,168,167,167,PNR,168,168 -+ppoll,309,271,271,336,73,73,302,261,265,274,274,281,281,73,302,302 -+ppoll_time64,414,PNR,PNR,414,PNR,PNR,414,PNR,414,414,PNR,414,PNR,PNR,414,PNR -+prctl,172,157,157,172,167,167,192,153,153,172,172,171,171,167,172,172 -+pread64,180,17,17,180,67,67,200,16,16,108,108,179,179,67,180,180 -+preadv,333,295,534,361,69,69,330,289,293,315,315,320,320,69,328,328 -+preadv2,378,327,546,392,286,286,361,321,325,347,347,380,380,286,376,376 -+prlimit64,340,302,302,369,261,261,338,297,302,321,321,325,325,261,334,334 -+process_madvise,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440 -+process_mrelease,448,448,448,448,448,448,448,448,448,448,448,448,448,448,448,448 -+process_vm_readv,347,310,539,376,270,270,345,304,309,330,330,351,351,270,340,340 -+process_vm_writev,348,311,540,377,271,271,346,305,310,331,331,352,352,271,341,341 -+prof,44,PNR,PNR,PNR,PNR,PNR,44,PNR,PNR,PNR,PNR,44,44,PNR,PNR,PNR -+profil,98,PNR,PNR,PNR,PNR,PNR,98,PNR,PNR,PNR,PNR,98,98,PNR,PNR,PNR -+pselect6,308,270,270,335,72,72,301,260,264,273,273,280,280,72,301,301 -+pselect6_time64,413,PNR,PNR,413,PNR,PNR,413,PNR,413,413,PNR,413,PNR,PNR,413,PNR -+ptrace,26,101,521,26,117,117,26,99,99,26,26,26,26,117,26,26 -+putpmsg,189,182,182,PNR,PNR,PNR,209,175,175,PNR,PNR,188,188,PNR,189,189 -+pwrite64,181,18,18,181,68,68,201,17,17,109,109,180,180,68,181,181 -+pwritev,334,296,535,362,70,70,331,290,294,316,316,321,321,70,329,329 -+pwritev2,379,328,547,393,287,287,362,322,326,348,348,381,381,287,377,377 -+query_module,167,178,PNR,PNR,PNR,PNR,187,171,171,PNR,PNR,166,166,PNR,167,167 -+quotactl,131,179,179,131,60,60,131,172,172,131,131,131,131,60,131,131 -+quotactl_fd,443,443,443,443,443,443,443,443,443,443,443,443,443,443,443,443 -+read,3,0,0,3,63,63,3,0,0,3,3,3,3,63,3,3 -+readahead,225,187,187,225,213,213,223,179,179,207,207,191,191,213,222,222 -+readdir,89,PNR,PNR,PNR,PNR,PNR,89,PNR,PNR,PNR,PNR,89,89,PNR,89,89 -+readlink,85,89,89,85,PNR,PNR,85,87,87,85,85,85,85,PNR,85,85 -+readlinkat,305,267,267,332,78,78,298,257,261,285,285,296,296,78,298,298 -+readv,145,19,515,145,65,65,145,18,18,145,145,145,145,65,145,145 -+reboot,88,169,169,88,142,142,88,164,164,88,88,88,88,142,88,88 -+recv,PNR,PNR,PNR,291,PNR,PNR,175,PNR,PNR,98,98,336,336,PNR,PNR,PNR -+recvfrom,371,45,517,292,207,207,176,44,44,123,123,337,337,207,371,371 -+recvmmsg,337,299,537,365,243,243,335,294,298,319,319,343,343,243,357,357 -+recvmmsg_time64,417,PNR,PNR,417,PNR,PNR,417,PNR,417,417,PNR,417,PNR,PNR,417,PNR -+recvmsg,372,47,519,297,212,212,177,46,46,184,184,342,342,212,372,372 -+remap_file_pages,257,216,216,253,234,234,251,210,210,227,227,239,239,234,267,267 -+removexattr,235,197,197,235,14,14,233,189,189,247,247,218,218,14,233,233 -+rename,38,82,82,38,PNR,PNR,38,80,80,38,38,38,38,PNR,38,38 -+renameat,302,264,264,329,38,PNR,295,254,258,282,282,293,293,PNR,295,295 -+renameat2,353,316,316,382,276,276,351,311,315,337,337,357,357,276,347,347 -+request_key,287,249,249,310,218,218,281,240,244,265,265,270,270,218,279,279 -+restart_syscall,0,219,219,0,128,128,253,213,214,0,0,0,0,128,7,7 -+riscv_flush_icache,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,259,PNR,PNR -+riscv_hwprobe,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,258,PNR,PNR -+rmdir,40,84,84,40,PNR,PNR,40,82,82,40,40,40,40,PNR,40,40 -+rseq,386,334,334,398,293,293,367,327,331,354,354,387,387,293,383,383 -+rtas,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,255,255,PNR,PNR,PNR -+rt_sigaction,174,13,512,174,134,134,194,13,13,174,174,173,173,134,174,174 -+rt_sigpending,176,127,522,176,136,136,196,125,125,176,176,175,175,136,176,176 -+rt_sigprocmask,175,14,14,175,135,135,195,14,14,175,175,174,174,135,175,175 -+rt_sigqueueinfo,178,129,524,178,138,138,198,127,127,178,178,177,177,138,178,178 -+rt_sigreturn,173,15,513,173,139,139,193,211,211,173,173,172,172,139,173,173 -+rt_sigsuspend,179,130,130,179,133,133,199,128,128,179,179,178,178,133,179,179 -+rt_sigtimedwait,177,128,523,177,137,137,197,126,126,177,177,176,176,137,177,177 -+rt_sigtimedwait_time64,421,PNR,PNR,421,PNR,PNR,421,PNR,421,421,PNR,421,PNR,PNR,421,PNR -+rt_tgsigqueueinfo,335,297,536,363,240,240,332,291,295,317,317,322,322,240,330,330 -+s390_guarded_storage,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,378,378 -+s390_pci_mmio_read,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,353,353 -+s390_pci_mmio_write,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,352,352 -+s390_runtime_instr,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,342,342 -+s390_sthyi,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,380,380 -+sched_getaffinity,242,204,204,242,123,123,240,196,196,212,212,223,223,123,240,240 -+sched_getattr,352,315,315,381,275,275,350,310,314,335,335,356,356,275,346,346 -+sched_getparam,155,143,143,155,121,121,159,140,140,155,155,155,155,121,155,155 -+sched_get_priority_max,159,146,146,159,125,125,163,143,143,159,159,159,159,125,159,159 -+sched_get_priority_min,160,147,147,160,126,126,164,144,144,160,160,160,160,126,160,160 -+sched_getscheduler,157,145,145,157,120,120,161,142,142,157,157,157,157,120,157,157 -+sched_rr_get_interval,161,148,148,161,127,127,165,145,145,161,161,161,161,127,161,161 -+sched_rr_get_interval_time64,423,PNR,PNR,423,PNR,PNR,423,PNR,423,423,PNR,423,PNR,PNR,423,PNR -+sched_setaffinity,241,203,203,241,122,122,239,195,195,211,211,222,222,122,239,239 -+sched_setattr,351,314,314,380,274,274,349,309,313,334,334,355,355,274,345,345 -+sched_setparam,154,142,142,154,118,118,158,139,139,154,154,154,154,118,154,154 -+sched_setscheduler,156,144,144,156,119,119,160,141,141,156,156,156,156,119,156,156 -+sched_yield,158,24,24,158,124,124,162,23,23,158,158,158,158,124,158,158 -+seccomp,354,317,317,383,277,277,352,312,316,338,338,358,358,277,348,348 -+security,PNR,185,185,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR -+select,82,23,23,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,82,82,PNR,PNR,142 -+semctl,394,66,66,300,191,191,394,64,64,187,187,394,394,191,394,394 -+semget,393,64,64,299,190,190,393,62,62,186,186,393,393,190,393,393 -+semop,PNR,65,65,298,193,193,PNR,63,63,185,185,PNR,PNR,193,PNR,PNR -+semtimedop,PNR,220,220,312,192,192,PNR,214,215,228,228,PNR,392,192,PNR,392 -+semtimedop_time64,420,PNR,PNR,420,PNR,PNR,420,PNR,420,420,PNR,420,PNR,PNR,420,PNR -+send,PNR,PNR,PNR,289,PNR,PNR,178,PNR,PNR,58,58,334,334,PNR,PNR,PNR -+sendfile,187,40,40,187,71,71,207,39,39,122,122,186,186,71,187,187 -+sendfile64,239,PNR,PNR,239,PNR,PNR,237,PNR,219,209,209,226,PNR,PNR,223,PNR -+sendmmsg,345,307,538,374,269,269,343,302,307,329,329,349,349,269,358,358 -+sendmsg,370,46,518,296,211,211,179,45,45,183,183,341,341,211,370,370 -+sendto,369,44,44,290,206,206,180,43,43,82,82,335,335,206,369,369 -+setdomainname,121,171,171,121,162,162,121,166,166,121,121,121,121,162,121,121 -+setfsgid,139,123,123,139,152,152,139,121,121,139,139,139,139,152,139,216 -+setfsgid32,216,PNR,PNR,216,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,216,PNR -+setfsuid,138,122,122,138,151,151,138,120,120,138,138,138,138,151,138,215 -+setfsuid32,215,PNR,PNR,215,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,215,PNR -+setgid,46,106,106,46,144,144,46,104,104,46,46,46,46,144,46,214 -+setgid32,214,PNR,PNR,214,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,214,PNR -+setgroups,81,116,116,81,159,159,81,114,114,81,81,81,81,159,81,206 -+setgroups32,206,PNR,PNR,206,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,206,PNR -+sethostname,74,170,170,74,161,161,74,165,165,74,74,74,74,161,74,74 -+setitimer,104,38,38,104,103,103,104,36,36,104,104,104,104,103,104,104 -+set_mempolicy,276,238,238,321,237,237,270,229,233,262,262,261,261,237,270,270 -+set_mempolicy_home_node,450,450,450,450,450,450,450,450,450,450,450,450,450,450,450,450 -+setns,346,308,308,375,268,268,344,303,308,328,328,350,350,268,339,339 -+setpgid,57,109,109,57,154,154,57,107,107,57,57,57,57,154,57,57 -+setpriority,97,141,141,97,140,140,97,138,138,97,97,97,97,140,97,97 -+setregid,71,114,114,71,143,143,71,112,112,71,71,71,71,143,71,204 -+setregid32,204,PNR,PNR,204,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,204,PNR -+setresgid,170,119,119,170,149,149,190,117,117,170,170,169,169,149,170,210 -+setresgid32,210,PNR,PNR,210,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,210,PNR -+setresuid,164,117,117,164,147,147,185,115,115,164,164,164,164,147,164,208 -+setresuid32,208,PNR,PNR,208,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,208,PNR -+setreuid,70,113,113,70,145,145,70,111,111,70,70,70,70,145,70,203 -+setreuid32,203,PNR,PNR,203,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,203,PNR -+setrlimit,75,160,160,75,164,PNR,75,155,155,75,75,75,75,164,75,75 -+set_robust_list,311,273,530,338,99,99,309,268,272,289,289,300,300,99,304,304 -+setsid,66,112,112,66,157,157,66,110,110,66,66,66,66,157,66,66 -+setsockopt,366,54,541,294,208,208,181,53,53,181,181,339,339,208,366,366 -+set_thread_area,243,205,PNR,PNR,PNR,PNR,283,242,246,PNR,PNR,PNR,PNR,PNR,PNR,PNR -+set_tid_address,258,218,218,256,96,96,252,212,213,237,237,232,232,96,252,252 -+settimeofday,79,164,164,79,170,170,79,159,159,79,79,79,79,170,79,79 -+set_tls,PNR,PNR,PNR,983045,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR -+setuid,23,105,105,23,146,146,23,103,103,23,23,23,23,146,23,213 -+setuid32,213,PNR,PNR,213,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,213,PNR -+setxattr,226,188,188,226,5,5,224,180,180,238,238,209,209,5,224,224 -+sgetmask,68,PNR,PNR,PNR,PNR,PNR,68,PNR,PNR,68,68,68,68,PNR,PNR,PNR -+shmat,397,30,30,305,196,196,397,29,29,192,192,397,397,196,397,397 -+shmctl,396,31,31,308,195,195,396,30,30,195,195,396,396,195,396,396 -+shmdt,398,67,67,306,197,197,398,65,65,193,193,398,398,197,398,398 -+shmget,395,29,29,307,194,194,395,28,28,194,194,395,395,194,395,395 -+shutdown,373,48,48,293,210,210,182,47,47,117,117,338,338,210,373,373 -+sigaction,67,PNR,PNR,67,PNR,PNR,67,PNR,PNR,PNR,PNR,67,67,PNR,67,67 -+sigaltstack,186,131,525,186,132,132,206,129,129,166,166,185,185,132,186,186 -+signal,48,PNR,PNR,PNR,PNR,PNR,48,PNR,PNR,48,48,48,48,PNR,48,48 -+signalfd,321,282,282,349,PNR,PNR,317,276,280,302,302,305,305,PNR,316,316 -+signalfd4,327,289,289,355,74,74,324,283,287,309,309,313,313,74,322,322 -+sigpending,73,PNR,PNR,73,PNR,PNR,73,PNR,PNR,73,73,73,73,PNR,73,73 -+sigprocmask,126,PNR,PNR,126,PNR,PNR,126,PNR,PNR,126,126,126,126,PNR,126,126 -+sigreturn,119,PNR,PNR,119,PNR,PNR,119,PNR,PNR,PNR,PNR,119,119,PNR,119,119 -+sigsuspend,72,PNR,PNR,72,PNR,PNR,72,PNR,PNR,PNR,PNR,72,72,PNR,72,72 -+socket,359,41,41,281,198,198,183,40,40,17,17,326,326,198,359,359 -+socketcall,102,PNR,PNR,PNR,PNR,PNR,102,PNR,PNR,PNR,PNR,102,102,PNR,102,102 -+socketpair,360,53,53,288,199,199,184,52,52,56,56,333,333,199,360,360 -+splice,313,275,275,340,76,76,304,263,267,291,291,283,283,76,306,306 -+spu_create,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,279,279,PNR,PNR,PNR -+spu_run,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,278,278,PNR,PNR,PNR -+ssetmask,69,PNR,PNR,PNR,PNR,PNR,69,PNR,PNR,69,69,69,69,PNR,PNR,PNR -+stat,106,4,4,106,PNR,PNR,106,4,4,18,18,106,106,PNR,106,106 -+stat64,195,PNR,PNR,195,PNR,PNR,213,PNR,PNR,101,101,195,PNR,PNR,195,PNR -+statfs,99,137,137,99,43,43,99,134,134,99,99,99,99,43,99,99 -+statfs64,268,PNR,PNR,266,PNR,PNR,255,PNR,217,298,298,252,252,PNR,265,265 -+statmount,457,457,457,457,457,457,457,457,457,457,457,457,457,457,457,457 -+statx,383,332,332,397,291,291,366,326,330,349,349,383,383,291,379,379 -+stime,25,PNR,PNR,PNR,PNR,PNR,25,PNR,PNR,25,25,25,25,PNR,25,PNR -+stty,31,PNR,PNR,PNR,PNR,PNR,31,PNR,PNR,PNR,PNR,31,31,PNR,PNR,PNR -+subpage_prot,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,310,310,PNR,PNR,PNR -+swapcontext,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,249,249,PNR,PNR,PNR -+swapoff,115,168,168,115,225,225,115,163,163,115,115,115,115,225,115,115 -+swapon,87,167,167,87,224,224,87,162,162,87,87,87,87,224,87,87 -+switch_endian,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,363,363,PNR,PNR,PNR -+symlink,83,88,88,83,PNR,PNR,83,86,86,83,83,83,83,PNR,83,83 -+symlinkat,304,266,266,331,36,36,297,256,260,284,284,295,295,36,297,297 -+sync,36,162,162,36,81,81,36,157,157,36,36,36,36,81,36,36 -+sync_file_range,314,277,277,PNR,84,84,305,264,268,292,292,PNR,PNR,84,307,307 -+sync_file_range2,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,308,308,PNR,PNR,PNR -+syncfs,344,306,306,373,267,267,342,301,306,327,327,348,348,267,338,338 -+syscall,PNR,PNR,PNR,PNR,PNR,PNR,0,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR -+_sysctl,149,156,PNR,149,PNR,PNR,153,152,152,149,149,149,149,PNR,149,149 -+sys_debug_setcontext,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,256,256,PNR,PNR,PNR -+sysfs,135,139,139,135,PNR,PNR,135,136,136,135,135,135,135,PNR,135,135 -+sysinfo,116,99,99,116,179,179,116,97,97,116,116,116,116,179,116,116 -+syslog,103,103,103,103,116,116,103,101,101,103,103,103,103,116,103,103 -+sysmips,PNR,PNR,PNR,PNR,PNR,PNR,149,199,199,PNR,PNR,PNR,PNR,PNR,PNR,PNR -+tee,315,276,276,342,77,77,306,265,269,293,293,284,284,77,308,308 -+tgkill,270,234,234,268,131,131,266,225,229,259,259,250,250,131,241,241 -+time,13,201,201,PNR,PNR,PNR,13,PNR,PNR,13,13,13,13,PNR,13,PNR -+timer_create,259,222,526,257,107,107,257,216,220,250,250,240,240,107,254,254 -+timer_delete,263,226,226,261,111,111,261,220,224,254,254,244,244,111,258,258 -+timerfd,PNR,PNR,PNR,PNR,PNR,PNR,318,277,281,PNR,PNR,PNR,PNR,PNR,317,317 -+timerfd_create,322,283,283,350,85,85,321,280,284,306,306,306,306,85,319,319 -+timerfd_gettime,326,287,287,354,87,87,322,281,285,308,308,312,312,87,321,321 -+timerfd_gettime64,410,PNR,PNR,410,PNR,PNR,410,PNR,410,410,PNR,410,PNR,PNR,410,PNR -+timerfd_settime,325,286,286,353,86,86,323,282,286,307,307,311,311,86,320,320 -+timerfd_settime64,411,PNR,PNR,411,PNR,PNR,411,PNR,411,411,PNR,411,PNR,PNR,411,PNR -+timer_getoverrun,262,225,225,260,109,109,260,219,223,253,253,243,243,109,257,257 -+timer_gettime,261,224,224,259,108,108,259,218,222,252,252,242,242,108,256,256 -+timer_gettime64,408,PNR,PNR,408,PNR,PNR,408,PNR,408,408,PNR,408,PNR,PNR,408,PNR -+timer_settime,260,223,223,258,110,110,258,217,221,251,251,241,241,110,255,255 -+timer_settime64,409,PNR,PNR,409,PNR,PNR,409,PNR,409,409,PNR,409,PNR,PNR,409,PNR -+times,43,100,100,43,153,153,43,98,98,43,43,43,43,153,43,43 -+tkill,238,200,200,238,130,130,236,192,192,208,208,208,208,130,237,237 -+truncate,92,76,76,92,45,45,92,74,74,92,92,92,92,45,92,92 -+truncate64,193,PNR,PNR,193,PNR,PNR,211,PNR,PNR,199,199,193,PNR,PNR,193,PNR -+tuxcall,PNR,184,184,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,225,225,PNR,PNR,PNR -+ugetrlimit,191,PNR,PNR,191,PNR,PNR,PNR,PNR,PNR,PNR,PNR,190,190,PNR,191,PNR -+ulimit,58,PNR,PNR,PNR,PNR,PNR,58,PNR,PNR,PNR,PNR,58,58,PNR,PNR,PNR -+umask,60,95,95,60,166,166,60,93,93,60,60,60,60,166,60,60 -+umount,22,PNR,PNR,PNR,PNR,PNR,22,PNR,PNR,PNR,PNR,22,22,PNR,22,22 -+umount2,52,166,166,52,39,39,52,161,161,52,52,52,52,39,52,52 -+uname,122,63,63,122,160,160,122,61,61,59,59,122,122,160,122,122 -+unlink,10,87,87,10,PNR,PNR,10,85,85,10,10,10,10,PNR,10,10 -+unlinkat,301,263,263,328,35,35,294,253,257,281,281,292,292,35,294,294 -+unshare,310,272,272,337,97,97,303,262,266,288,288,282,282,97,303,303 -+uretprobe,PNR,335,335,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR -+uselib,86,134,PNR,86,PNR,PNR,86,PNR,PNR,86,86,86,86,PNR,86,86 -+userfaultfd,374,323,323,388,282,282,357,317,321,344,344,364,364,282,355,355 -+usr26,PNR,PNR,PNR,983043,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR -+usr32,PNR,PNR,PNR,983044,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR -+ustat,62,136,136,62,PNR,PNR,62,133,133,62,62,62,62,PNR,62,62 -+utime,30,132,132,PNR,PNR,PNR,30,130,130,30,30,30,30,PNR,30,30 -+utimensat,320,280,280,348,88,88,316,275,279,301,301,304,304,88,315,315 -+utimensat_time64,412,PNR,PNR,412,PNR,PNR,412,PNR,412,412,PNR,412,PNR,PNR,412,PNR -+utimes,271,235,235,269,PNR,PNR,267,226,230,336,336,251,251,PNR,313,313 -+vfork,190,58,58,190,PNR,PNR,PNR,PNR,PNR,113,113,189,189,PNR,190,190 -+vhangup,111,153,153,111,58,58,111,150,150,111,111,111,111,58,111,111 -+vm86,166,PNR,PNR,PNR,PNR,PNR,113,PNR,PNR,PNR,PNR,113,113,PNR,PNR,PNR -+vm86old,113,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR,PNR -+vmsplice,316,278,532,343,75,75,307,266,270,294,294,285,285,75,309,309 -+vserver,273,236,PNR,313,PNR,PNR,277,236,240,PNR,PNR,PNR,PNR,PNR,PNR,PNR -+wait4,114,61,61,114,260,260,114,59,59,114,114,114,114,260,114,114 -+waitid,284,247,529,280,95,95,278,237,241,235,235,272,272,95,281,281 -+waitpid,7,PNR,PNR,PNR,PNR,PNR,7,PNR,PNR,7,7,7,7,PNR,PNR,PNR -+write,4,1,1,4,64,64,4,1,1,4,4,4,4,64,4,4 -+writev,146,20,516,146,66,66,146,19,19,146,146,146,146,66,146,146 -diff --git a/src/syscalls.h b/src/syscalls.h -index af468a1..2617563 100644 ---- a/src/syscalls.h -+++ b/src/syscalls.h -@@ -14,6 +14,7 @@ - #include "arch-aarch64.h" - #include "arch-arm.h" - #include "arch.h" -+#include "arch-loongarch64.h" - #include "arch-mips64.h" - #include "arch-mips64n32.h" - #include "arch-mips.h" -@@ -41,6 +42,7 @@ struct arch_syscall_table { - int x32; - int arm; - int aarch64; -+ int loongarch64; - int mips; - int mips64; - int mips64n32; -diff --git a/src/system.c b/src/system.c -index ae445bf..94e9be7 100644 ---- a/src/system.c -+++ b/src/system.c -@@ -126,6 +126,7 @@ int sys_chk_seccomp_syscall(void) - case SCMP_ARCH_X86_64: - case SCMP_ARCH_ARM: - case SCMP_ARCH_AARCH64: -+ case SCMP_ARCH_LOONGARCH64: - case SCMP_ARCH_PPC64: - case SCMP_ARCH_PPC64LE: - case SCMP_ARCH_S390: -diff --git a/tests/06-sim-actions.c b/tests/06-sim-actions.c -index da636c9..56a60fd 100644 ---- a/tests/06-sim-actions.c -+++ b/tests/06-sim-actions.c -@@ -64,7 +64,7 @@ int main(int argc, char *argv[]) - if (rc != 0) - goto out; - -- rc = seccomp_rule_add(ctx, SCMP_ACT_KILL_PROCESS, SCMP_SYS(fstat), 0); -+ rc = seccomp_rule_add(ctx, SCMP_ACT_KILL_PROCESS, SCMP_SYS(fstatfs), 0); - if (rc != 0) - goto out; - -diff --git a/tests/06-sim-actions.py b/tests/06-sim-actions.py -index 253061d..cfbd4f4 100755 ---- a/tests/06-sim-actions.py -+++ b/tests/06-sim-actions.py -@@ -38,7 +38,7 @@ def test(args): - f.add_rule(ERRNO(errno.EPERM), "write") - f.add_rule(TRAP, "close") - f.add_rule(TRACE(1234), "openat") -- f.add_rule(KILL_PROCESS, "fstat") -+ f.add_rule(KILL_PROCESS, "fstatfs") - return f - - args = util.get_opt() -diff --git a/tests/06-sim-actions.tests b/tests/06-sim-actions.tests -index 1ef38b3..c3f63be 100644 ---- a/tests/06-sim-actions.tests -+++ b/tests/06-sim-actions.tests -@@ -12,15 +12,16 @@ test type: bpf-sim - 06-sim-actions all write 1 0x856B008 N N N N ERRNO(1) - 06-sim-actions all close 4 N N N N N TRAP - 06-sim-actions all openat 0 0x856B008 4 N N N TRACE(1234) --06-sim-actions all fstat N N N N N N KILL_PROCESS -+06-sim-actions all fstatfs 4 0x856B008 N N N N KILL_PROCESS - 06-sim-actions all rt_sigreturn N N N N N N LOG - 06-sim-actions x86 0-2 N N N N N N KILL --06-sim-actions x86 7-107 N N N N N N KILL --06-sim-actions x86 109-172 N N N N N N KILL -+06-sim-actions x86 7-99 N N N N N N KILL -+06-sim-actions x86 101-172 N N N N N N KILL - 06-sim-actions x86 174-294 N N N N N N KILL - 06-sim-actions x86 296-350 N N N N N N KILL - 06-sim-actions x86_64 6-14 N N N N N N KILL --06-sim-actions x86_64 16-256 N N N N N N KILL -+06-sim-actions x86_64 16-137 N N N N N N KILL -+06-sim-actions x86_64 139-256 N N N N N N KILL - 06-sim-actions x86_64 258-350 N N N N N N KILL - - test type: bpf-sim-fuzz -diff --git a/tests/15-basic-resolver.c b/tests/15-basic-resolver.c -index 6db69e8..c79894f 100644 ---- a/tests/15-basic-resolver.c -+++ b/tests/15-basic-resolver.c -@@ -32,6 +32,7 @@ unsigned int arch_list[] = { - SCMP_ARCH_X32, - SCMP_ARCH_ARM, - SCMP_ARCH_AARCH64, -+ SCMP_ARCH_LOONGARCH64, - SCMP_ARCH_MIPS, - SCMP_ARCH_MIPS64, - SCMP_ARCH_MIPS64N32, -diff --git a/tests/16-sim-arch_basic.c b/tests/16-sim-arch_basic.c -index 0b141e1..ee1a4a5 100644 ---- a/tests/16-sim-arch_basic.c -+++ b/tests/16-sim-arch_basic.c -@@ -78,6 +78,9 @@ int main(int argc, char *argv[]) - if (rc != 0) - goto out; - rc = seccomp_arch_add(ctx, SCMP_ARCH_AARCH64); -+ if (rc != 0) -+ goto out; -+ rc = seccomp_arch_add(ctx, SCMP_ARCH_LOONGARCH64); - if (rc != 0) - goto out; - rc = seccomp_arch_add(ctx, SCMP_ARCH_MIPSEL); -@@ -145,6 +148,9 @@ int main(int argc, char *argv[]) - if (rc != 0) - goto out; - rc = seccomp_arch_remove(ctx, SCMP_ARCH_AARCH64); -+ if (rc != 0) -+ goto out; -+ rc = seccomp_arch_remove(ctx, SCMP_ARCH_LOONGARCH64); - if (rc != 0) - goto out; - rc = seccomp_arch_remove(ctx, SCMP_ARCH_MIPSEL); -diff --git a/tests/16-sim-arch_basic.py b/tests/16-sim-arch_basic.py -index 846553f..ba38b91 100755 ---- a/tests/16-sim-arch_basic.py -+++ b/tests/16-sim-arch_basic.py -@@ -40,6 +40,7 @@ def test(args): - f.add_arch(Arch("x32")) - f.add_arch(Arch("arm")) - f.add_arch(Arch("aarch64")) -+ f.add_arch(Arch("loongarch64")) - f.add_arch(Arch("mipsel")) - f.add_arch(Arch("mipsel64")) - f.add_arch(Arch("mipsel64n32")) -diff --git a/tests/23-sim-arch_all_le_basic.c b/tests/23-sim-arch_all_le_basic.c -index 32739e5..d10d351 100644 ---- a/tests/23-sim-arch_all_le_basic.c -+++ b/tests/23-sim-arch_all_le_basic.c -@@ -57,6 +57,9 @@ int main(int argc, char *argv[]) - if (rc != 0) - goto out; - rc = seccomp_arch_add(ctx, seccomp_arch_resolve_name("aarch64")); -+ if (rc != 0) -+ goto out; -+ rc = seccomp_arch_add(ctx, seccomp_arch_resolve_name("loongarch64")); - if (rc != 0) - goto out; - rc = seccomp_arch_add(ctx, seccomp_arch_resolve_name("mipsel")); -diff --git a/tests/23-sim-arch_all_le_basic.py b/tests/23-sim-arch_all_le_basic.py -index 33eedb1..0cecbc9 100755 ---- a/tests/23-sim-arch_all_le_basic.py -+++ b/tests/23-sim-arch_all_le_basic.py -@@ -36,6 +36,7 @@ def test(args): - f.add_arch(Arch("x32")) - f.add_arch(Arch("arm")) - f.add_arch(Arch("aarch64")) -+ f.add_arch(Arch("loongarch64")) - f.add_arch(Arch("mipsel")) - f.add_arch(Arch("mipsel64")) - f.add_arch(Arch("mipsel64n32")) -diff --git a/tests/29-sim-pseudo_syscall.c b/tests/29-sim-pseudo_syscall.c -index acf9c19..3c3405a 100644 ---- a/tests/29-sim-pseudo_syscall.c -+++ b/tests/29-sim-pseudo_syscall.c -@@ -49,15 +49,8 @@ int main(int argc, char *argv[]) - if (rc < 0) - goto out; - -- /* SCMP_SYS(sysmips) == 4294957190 (unsigned) */ -- rc = seccomp_rule_add(ctx, SCMP_ACT_KILL, SCMP_SYS(sysmips), 0); -- if (rc < 0) -- goto out; -- rc = seccomp_rule_add_exact(ctx, SCMP_ACT_KILL, SCMP_SYS(sysmips), 0); -- if (rc == 0) -- goto out; -- /* -10001 == 4294957295 (unsigned) */ -- rc = seccomp_rule_add_exact(ctx, SCMP_ACT_KILL, -11001, 0); -+ /* -100001 == 4294867295 (unsigned) */ -+ rc = seccomp_rule_add_exact(ctx, SCMP_ACT_KILL, -100001, 0); - if (rc == 0) - goto out; - -diff --git a/tests/29-sim-pseudo_syscall.py b/tests/29-sim-pseudo_syscall.py -index d7ab33b..74ffc61 100755 ---- a/tests/29-sim-pseudo_syscall.py -+++ b/tests/29-sim-pseudo_syscall.py -@@ -32,13 +32,8 @@ def test(args): - f = SyscallFilter(ALLOW) - f.remove_arch(Arch()) - f.add_arch(Arch("x86")) -- f.add_rule(KILL, "sysmips") - try: -- f.add_rule_exactly(KILL, "sysmips") -- except RuntimeError: -- pass -- try: -- f.add_rule_exactly(KILL, -10001) -+ f.add_rule_exactly(KILL, -100001) - except RuntimeError: - pass - return f -diff --git a/tests/29-sim-pseudo_syscall.tests b/tests/29-sim-pseudo_syscall.tests -index 45f8dce..779761e 100644 ---- a/tests/29-sim-pseudo_syscall.tests -+++ b/tests/29-sim-pseudo_syscall.tests -@@ -9,8 +9,7 @@ test type: bpf-sim - - # Testname Arch Syscall Arg0 Arg1 Arg2 Arg3 Arg4 Arg5 Result - 29-sim-pseudo_syscall +x86 0-10 N N N N N N ALLOW --29-sim-pseudo_syscall +x86 4294957190 N N N N N N ALLOW --29-sim-pseudo_syscall +x86 4294957295 N N N N N N ALLOW -+29-sim-pseudo_syscall +x86 4294867295 N N N N N N ALLOW - - test type: bpf-valgrind - -diff --git a/tests/36-sim-ipc_syscalls.c b/tests/36-sim-ipc_syscalls.c -index c9b575e..d3b7093 100644 ---- a/tests/36-sim-ipc_syscalls.c -+++ b/tests/36-sim-ipc_syscalls.c -@@ -57,6 +57,9 @@ int main(int argc, char *argv[]) - if (rc != 0) - goto out; - rc = seccomp_arch_add(ctx, SCMP_ARCH_MIPSEL); -+ if (rc != 0) -+ goto out; -+ rc = seccomp_arch_add(ctx, SCMP_ARCH_LOONGARCH64); - if (rc != 0) - goto out; - -diff --git a/tests/38-basic-pfc_coverage.c b/tests/38-basic-pfc_coverage.c -index c6829ac..d6ac796 100644 ---- a/tests/38-basic-pfc_coverage.c -+++ b/tests/38-basic-pfc_coverage.c -@@ -64,6 +64,9 @@ int main(int argc, char *argv[]) - if (rc < 0) - goto out; - rc = seccomp_arch_add(ctx, SCMP_ARCH_AARCH64); -+ if (rc < 0) -+ goto out; -+ rc = seccomp_arch_add(ctx, SCMP_ARCH_LOONGARCH64); - if (rc < 0) - goto out; - rc = seccomp_arch_add(ctx, SCMP_ARCH_MIPSEL); -diff --git a/tests/38-basic-pfc_coverage.pfc b/tests/38-basic-pfc_coverage.pfc -index 3109280..f287f1d 100644 ---- a/tests/38-basic-pfc_coverage.pfc -+++ b/tests/38-basic-pfc_coverage.pfc -@@ -300,6 +300,103 @@ if ($arch == 3221225655) - action KILL; - # default action - action ALLOW; -+# filter for arch loongarch64 (3221225730) -+if ($arch == 3221225730) -+ # filter for syscall "open" (4294957130) [priority: 65535] -+ if ($syscall == 4294957130) -+ action KILL; -+ # filter for syscall "exit_group" (94) [priority: 65535] -+ if ($syscall == 94) -+ action LOG; -+ # filter for syscall "exit" (93) [priority: 65535] -+ if ($syscall == 93) -+ action TRACE(1); -+ # filter for syscall "fstat" (80) [priority: 65535] -+ if ($syscall == 80) -+ action KILL_PROCESS; -+ # filter for syscall "close" (57) [priority: 65535] -+ if ($syscall == 57) -+ action ERRNO(1); -+ # filter for syscall "write" (64) [priority: 65527] -+ if ($syscall == 64) -+ if ($a0.hi32 == 0) -+ if ($a0.lo32 == 0) -+ else -+ if ($a1.hi32 > 0) -+ else -+ if ($a1.hi32 == 0) -+ if ($a1.lo32 > 1) -+ else -+ if ($a2.hi32 > 0) -+ else -+ if ($a2.hi32 == 0) -+ if ($a2.lo32 >= 2) -+ else -+ action TRAP; -+ else -+ action TRAP; -+ else -+ if ($a2.hi32 > 0) -+ else -+ if ($a2.hi32 == 0) -+ if ($a2.lo32 >= 2) -+ else -+ action TRAP; -+ else -+ action TRAP; -+ else -+ if ($a1.hi32 > 0) -+ else -+ if ($a1.hi32 == 0) -+ if ($a1.lo32 > 1) -+ else -+ if ($a2.hi32 > 0) -+ else -+ if ($a2.hi32 == 0) -+ if ($a2.lo32 >= 2) -+ else -+ action TRAP; -+ else -+ action TRAP; -+ else -+ if ($a2.hi32 > 0) -+ else -+ if ($a2.hi32 == 0) -+ if ($a2.lo32 >= 2) -+ else -+ action TRAP; -+ else -+ action TRAP; -+ # filter for syscall "read" (63) [priority: 65525] -+ if ($syscall == 63) -+ if ($a0.hi32 == 0) -+ if ($a0.lo32 == 0) -+ if ($a1.hi32 > 0) -+ if ($a2.hi32 > 0) -+ if ($a3.hi32 & 0x00000000 == 0) -+ if ($a3.lo32 & 0x0000000f == 3) -+ action KILL; -+ else -+ if ($a2.hi32 == 0) -+ if ($a2.lo32 > 2) -+ if ($a3.hi32 & 0x00000000 == 0) -+ if ($a3.lo32 & 0x0000000f == 3) -+ action KILL; -+ else -+ if ($a1.hi32 == 0) -+ if ($a1.lo32 >= 1) -+ if ($a2.hi32 > 0) -+ if ($a3.hi32 & 0x00000000 == 0) -+ if ($a3.lo32 & 0x0000000f == 3) -+ action KILL; -+ else -+ if ($a2.hi32 == 0) -+ if ($a2.lo32 > 2) -+ if ($a3.hi32 & 0x00000000 == 0) -+ if ($a3.lo32 & 0x0000000f == 3) -+ action KILL; -+ # default action -+ action ALLOW; - # filter for arch mipsel (1073741832) - if ($arch == 1073741832) - # filter for syscall "exit_group" (4246) [priority: 65535] -diff --git a/tests/53-sim-binary_tree.c b/tests/53-sim-binary_tree.c -index 4aa5f13..98b9e2c 100644 ---- a/tests/53-sim-binary_tree.c -+++ b/tests/53-sim-binary_tree.c -@@ -103,6 +103,9 @@ int main(int argc, char *argv[]) - goto out; - - rc = seccomp_arch_add(ctx, SCMP_ARCH_AARCH64); -+ if (rc != 0) -+ goto out; -+ rc = seccomp_arch_add(ctx, SCMP_ARCH_LOONGARCH64); - if (rc != 0) - goto out; - rc = seccomp_arch_add(ctx, SCMP_ARCH_PPC64LE); -diff --git a/tests/53-sim-binary_tree.py b/tests/53-sim-binary_tree.py -index 8ee58cd..8cda810 100755 ---- a/tests/53-sim-binary_tree.py -+++ b/tests/53-sim-binary_tree.py -@@ -72,6 +72,7 @@ def test(args): - - f.remove_arch(Arch()) - f.add_arch(Arch("aarch64")) -+ f.add_arch(Arch("loongarch64")) - f.add_arch(Arch("ppc64le")) - f.add_arch(Arch("x86_64")) - -diff --git a/tests/53-sim-binary_tree.tests b/tests/53-sim-binary_tree.tests -index 2ebaafd..9813d0d 100644 ---- a/tests/53-sim-binary_tree.tests -+++ b/tests/53-sim-binary_tree.tests -@@ -8,56 +8,56 @@ - test type: bpf-sim - - # Testname Arch Syscall Arg0 Arg1 Arg2 Arg3 Arg4 Arg5 Result --53-sim-binary_tree +x86_64,+ppc64le,+aarch64 read N N N N N N ERRNO(0) --53-sim-binary_tree +x86_64,+ppc64le,+aarch64 write N N N N N N ERRNO(1) -+53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 read N N N N N N ERRNO(0) -+53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 write N N N N N N ERRNO(1) - 53-sim-binary_tree +x86_64,+ppc64le open N N N N N N ERRNO(2) --53-sim-binary_tree +aarch64 open N N N N N N ALLOW --53-sim-binary_tree +x86_64,+ppc64le,+aarch64 close N N N N N N ALLOW --53-sim-binary_tree +x86_64,+ppc64le,+aarch64 close 100 1234 N N N N ALLOW --53-sim-binary_tree +x86_64,+ppc64le,+aarch64 close 100 101 N N N N ERRNO(3) -+53-sim-binary_tree +aarch64,+loongarch64 open N N N N N N ALLOW -+53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 close N N N N N N ALLOW -+53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 close 100 1234 N N N N ALLOW -+53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 close 100 101 N N N N ERRNO(3) - 53-sim-binary_tree +x86_64,+ppc64le stat N N N N N N ERRNO(4) --53-sim-binary_tree +aarch64 stat N N N N N N ALLOW -+53-sim-binary_tree +aarch64,+loongarch64 stat N N N N N N ALLOW - 53-sim-binary_tree +x86_64,+ppc64le,+aarch64 fstat N N N N N N ERRNO(5) - 53-sim-binary_tree +x86_64,+ppc64le lstat N N N N N N ERRNO(6) --53-sim-binary_tree +aarch64 lstat N N N N N N ALLOW -+53-sim-binary_tree +aarch64,+loongarch64 lstat N N N N N N ALLOW - 53-sim-binary_tree +x86_64,+ppc64le poll 102 N N N N N ERRNO(7) --53-sim-binary_tree +aarch64 poll 102 N N N N N ALLOW --53-sim-binary_tree +x86_64,+ppc64le,+aarch64 lseek 103 104 N N N N ERRNO(8) --53-sim-binary_tree +x86_64,+ppc64le,+aarch64 mmap N N N N N N ERRNO(9) --53-sim-binary_tree +x86_64,+ppc64le,+aarch64 mprotect N N N N N N ERRNO(10) --53-sim-binary_tree +x86_64,+ppc64le,+aarch64 munmap N N N N N N ERRNO(11) --53-sim-binary_tree +x86_64,+ppc64le,+aarch64 brk N N N N N N ERRNO(12) --53-sim-binary_tree +x86_64,+ppc64le,+aarch64 rt_sigaction N N N N N N ERRNO(13) --53-sim-binary_tree +x86_64,+ppc64le,+aarch64 rt_sigprocmask N N N N N N ERRNO(14) --53-sim-binary_tree +x86_64,+ppc64le,+aarch64 rt_sigreturn N N N N N N ERRNO(15) --53-sim-binary_tree +x86_64,+ppc64le,+aarch64 ioctl N N N N N N ERRNO(16) --53-sim-binary_tree +x86_64,+ppc64le,+aarch64 pread64 105 N N N N N ERRNO(17) --53-sim-binary_tree +x86_64,+ppc64le,+aarch64 pwrite64 N N N N N N ERRNO(18) --53-sim-binary_tree +x86_64,+ppc64le,+aarch64 readv N N N N N N ERRNO(19) --53-sim-binary_tree +x86_64,+ppc64le,+aarch64 writev N N N N N N ERRNO(20) -+53-sim-binary_tree +aarch64,+loongarch64 poll 102 N N N N N ALLOW -+53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 lseek 103 104 N N N N ERRNO(8) -+53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 mmap N N N N N N ERRNO(9) -+53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 mprotect N N N N N N ERRNO(10) -+53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 munmap N N N N N N ERRNO(11) -+53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 brk N N N N N N ERRNO(12) -+53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 rt_sigaction N N N N N N ERRNO(13) -+53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 rt_sigprocmask N N N N N N ERRNO(14) -+53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 rt_sigreturn N N N N N N ERRNO(15) -+53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 ioctl N N N N N N ERRNO(16) -+53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 pread64 105 N N N N N ERRNO(17) -+53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 pwrite64 N N N N N N ERRNO(18) -+53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 readv N N N N N N ERRNO(19) -+53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 writev N N N N N N ERRNO(20) - 53-sim-binary_tree +x86_64,+ppc64le access N N N N N N ERRNO(21) --53-sim-binary_tree +aarch64 access N N N N N N ALLOW -+53-sim-binary_tree +aarch64,+loongarch64 access N N N N N N ALLOW - 53-sim-binary_tree +x86_64,+ppc64le pipe N N N N N N ERRNO(22) --53-sim-binary_tree +aarch64 pipe N N N N N N ALLOW --53-sim-binary_tree +x86_64,+ppc64le,+aarch64 select N N N N N N ALLOW -+53-sim-binary_tree +aarch64,+loongarch64 pipe N N N N N N ALLOW -+53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 select N N N N N N ALLOW - 53-sim-binary_tree +x86_64,+ppc64le select 106 107 N N N N ERRNO(23) --53-sim-binary_tree +aarch64 select 106 107 N N N N ALLOW --53-sim-binary_tree +x86_64,+ppc64le,+aarch64 sched_yield N N N N N N ERRNO(24) --53-sim-binary_tree +x86_64,+ppc64le,+aarch64 mremap N N N N N N ALLOW --53-sim-binary_tree +x86_64,+ppc64le,+aarch64 mremap 108 109 N N N N ERRNO(25) --53-sim-binary_tree +x86_64,+ppc64le,+aarch64 msync N N N N N N ERRNO(26) --53-sim-binary_tree +x86_64,+ppc64le,+aarch64 mincore N N N N N N ERRNO(27) --53-sim-binary_tree +x86_64,+ppc64le,+aarch64 madvise N N N N N N ERRNO(28) --53-sim-binary_tree +x86_64,+ppc64le,+aarch64 dup 112 N N N N N ERRNO(32) --53-sim-binary_tree +x86_64,+ppc64le,+aarch64 dup 5678 N N N N N ALLOW -+53-sim-binary_tree +aarch64,+loongarch64 select 106 107 N N N N ALLOW -+53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 sched_yield N N N N N N ERRNO(24) -+53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 mremap N N N N N N ALLOW -+53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 mremap 108 109 N N N N ERRNO(25) -+53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 msync N N N N N N ERRNO(26) -+53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 mincore N N N N N N ERRNO(27) -+53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 madvise N N N N N N ERRNO(28) -+53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 dup 112 N N N N N ERRNO(32) -+53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 dup 5678 N N N N N ALLOW - 53-sim-binary_tree +x86_64,+ppc64le dup2 N N N N N N ERRNO(33) --53-sim-binary_tree +aarch64 dup2 N N N N N N ALLOW -+53-sim-binary_tree +aarch64,+loongarch64 dup2 N N N N N N ALLOW - 53-sim-binary_tree +x86_64,+ppc64le pause N N N N N N ERRNO(34) --53-sim-binary_tree +aarch64 pause N N N N N N ALLOW --53-sim-binary_tree +x86_64,+ppc64le,+aarch64 nanosleep N N N N N N ERRNO(35) --53-sim-binary_tree +x86_64,+ppc64le,+aarch64 getitimer N N N N N N ERRNO(36) -+53-sim-binary_tree +aarch64,+loongarch64 pause N N N N N N ALLOW -+53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 nanosleep N N N N N N ERRNO(35) -+53-sim-binary_tree +x86_64,+ppc64le,+aarch64,+loongarch64 getitimer N N N N N N ERRNO(36) - 53-sim-binary_tree +x86_64,+ppc64le alarm N N N N N N ERRNO(37) --53-sim-binary_tree +aarch64 alarm N N N N N N ALLOW -+53-sim-binary_tree +aarch64,+loongarch64 alarm N N N N N N ALLOW - - test type: bpf-valgrind - -diff --git a/tests/55-basic-pfc_binary_tree.c b/tests/55-basic-pfc_binary_tree.c -index e364fd6..0919f6b 100644 ---- a/tests/55-basic-pfc_binary_tree.c -+++ b/tests/55-basic-pfc_binary_tree.c -@@ -87,6 +87,9 @@ int main(int argc, char *argv[]) - if (rc < 0) - goto out; - rc = seccomp_arch_add(ctx, SCMP_ARCH_AARCH64); -+ if (rc < 0) -+ goto out; -+ rc = seccomp_arch_add(ctx, SCMP_ARCH_LOONGARCH64); - if (rc < 0) - goto out; - rc = seccomp_attr_set(ctx, SCMP_FLTATR_CTL_OPTIMIZE, 2); -diff --git a/tests/55-basic-pfc_binary_tree.pfc b/tests/55-basic-pfc_binary_tree.pfc -index ba3244c..e63aa12 100644 ---- a/tests/55-basic-pfc_binary_tree.pfc -+++ b/tests/55-basic-pfc_binary_tree.pfc -@@ -175,6 +175,93 @@ if ($arch == 3221225655) - action ERRNO(16); - # default action - action ALLOW; -+# filter for arch loongarch64 (3221225730) -+if ($arch == 3221225730) -+ if ($syscall > 62) -+ if ($syscall > 139) -+ if ($syscall > 226) -+ # filter for syscall "lstat" (4294957133) [priority: 65535] -+ if ($syscall == 4294957133) -+ action ERRNO(6); -+ # filter for syscall "open" (4294957130) [priority: 65535] -+ if ($syscall == 4294957130) -+ action ERRNO(2); -+ # filter for syscall "poll" (4294957127) [priority: 65535] -+ if ($syscall == 4294957127) -+ action ERRNO(7); -+ # filter for syscall "stat" (4294957122) [priority: 65535] -+ if ($syscall == 4294957122) -+ action ERRNO(4); -+ else # ($syscall <= 226) -+ # filter for syscall "mprotect" (226) [priority: 65533] -+ if ($syscall == 226) -+ if ($a0.hi32 == 0) -+ if ($a0.lo32 == 105) -+ action ERRNO(10); -+ # filter for syscall "mmap" (222) [priority: 65535] -+ if ($syscall == 222) -+ action ERRNO(9); -+ # filter for syscall "munmap" (215) [priority: 65535] -+ if ($syscall == 215) -+ action ERRNO(11); -+ # filter for syscall "brk" (214) [priority: 65535] -+ if ($syscall == 214) -+ action ERRNO(12); -+ else # ($syscall <= 139) -+ if ($syscall > 68) -+ # filter for syscall "rt_sigreturn" (139) [priority: 65535] -+ if ($syscall == 139) -+ action ERRNO(15); -+ # filter for syscall "rt_sigprocmask" (135) [priority: 65535] -+ if ($syscall == 135) -+ action ERRNO(14); -+ # filter for syscall "rt_sigaction" (134) [priority: 65535] -+ if ($syscall == 134) -+ action ERRNO(13); -+ # filter for syscall "fstat" (80) [priority: 65533] -+ if ($syscall == 80) -+ if ($a0.hi32 == 0) -+ if ($a0.lo32 == 103) -+ action ERRNO(5); -+ else # ($syscall <= 68) -+ # filter for syscall "pwrite64" (68) [priority: 65531] -+ if ($syscall == 68) -+ if ($a0.hi32 == 0) -+ if ($a0.lo32 == 107) -+ if ($a1.hi32 == 0) -+ if ($a1.lo32 == 108) -+ action ERRNO(18); -+ # filter for syscall "pread64" (67) [priority: 65533] -+ if ($syscall == 67) -+ if ($a0.hi32 == 0) -+ if ($a0.lo32 == 106) -+ action ERRNO(17); -+ # filter for syscall "write" (64) [priority: 65533] -+ if ($syscall == 64) -+ if ($a0.hi32 == 0) -+ if ($a0.lo32 == 102) -+ action ERRNO(1); -+ # filter for syscall "read" (63) [priority: 65531] -+ if ($syscall == 63) -+ if ($a0.hi32 == 0) -+ if ($a0.lo32 == 100) -+ if ($a1.hi32 == 0) -+ if ($a1.lo32 == 101) -+ action ERRNO(0); -+ else # ($syscall <= 62) -+ # filter for syscall "lseek" (62) [priority: 65533] -+ if ($syscall == 62) -+ if ($a0.hi32 == 0) -+ if ($a0.lo32 == 104) -+ action ERRNO(8); -+ # filter for syscall "close" (57) [priority: 65535] -+ if ($syscall == 57) -+ action ERRNO(3); -+ # filter for syscall "ioctl" (29) [priority: 65535] -+ if ($syscall == 29) -+ action ERRNO(16); -+ # default action -+ action ALLOW; - # invalid architecture action - action KILL; - # -diff --git a/tests/56-basic-iterate_syscalls.c b/tests/56-basic-iterate_syscalls.c -index 5e7ab67..b514afa 100644 ---- a/tests/56-basic-iterate_syscalls.c -+++ b/tests/56-basic-iterate_syscalls.c -@@ -33,6 +33,7 @@ unsigned int arch_list[] = { - SCMP_ARCH_X32, - SCMP_ARCH_ARM, - SCMP_ARCH_AARCH64, -+ SCMP_ARCH_LOONGARCH64, - SCMP_ARCH_MIPS, - SCMP_ARCH_MIPS64, - SCMP_ARCH_MIPS64N32, -diff --git a/tests/56-basic-iterate_syscalls.py b/tests/56-basic-iterate_syscalls.py -index 77a5b89..d69dd0c 100755 ---- a/tests/56-basic-iterate_syscalls.py -+++ b/tests/56-basic-iterate_syscalls.py -@@ -33,6 +33,7 @@ arch_list = ["x86", - "x32", - "arm", - "aarch64", -+ "loongarch64", - "mipsel", - "mipsel64", - "mipsel64n32", -diff --git a/tests/regression b/tests/regression -index f938b1b..19f9323 100755 ---- a/tests/regression -+++ b/tests/regression -@@ -24,6 +24,7 @@ - GLBL_ARCH_LE_SUPPORT=" \ - x86 x86_64 x32 \ - arm aarch64 \ -+ loongarch64 \ - mipsel mipsel64 mipsel64n32 \ - ppc64le \ - riscv64" -@@ -44,6 +45,7 @@ GLBL_ARCH_32B_SUPPORT=" \ - GLBL_ARCH_64B_SUPPORT=" \ - x86_64 \ - aarch64 \ -+ loongarch64 \ - mips64 \ - parisc64 \ - ppc64 \ -@@ -796,7 +798,7 @@ function run_test_live() { - - # setup the arch specific return values - case "$arch" in -- x86|x86_64|x32|arm|aarch64|parisc|parisc64|ppc|ppc64|ppc64le|ppc|s390|s390x|riscv64) -+ x86|x86_64|x32|arm|aarch64|loongarch64|parisc|parisc64|ppc|ppc64|ppc64le|ppc|s390|s390x|riscv64) - rc_kill_process=159 - rc_kill=159 - rc_allow=160 -diff --git a/tools/scmp_arch_detect.c b/tools/scmp_arch_detect.c -index b844a68..320b1af 100644 ---- a/tools/scmp_arch_detect.c -+++ b/tools/scmp_arch_detect.c -@@ -81,6 +81,9 @@ int main(int argc, char *argv[]) - case SCMP_ARCH_AARCH64: - printf("aarch64\n"); - break; -+ case SCMP_ARCH_LOONGARCH64: -+ printf("loongarch64\n"); -+ break; - case SCMP_ARCH_MIPS: - printf("mips\n"); - break; -diff --git a/tools/scmp_bpf_disasm.c b/tools/scmp_bpf_disasm.c -index b682de7..4572659 100644 ---- a/tools/scmp_bpf_disasm.c -+++ b/tools/scmp_bpf_disasm.c -@@ -484,6 +484,8 @@ int main(int argc, char *argv[]) - arch = AUDIT_ARCH_ARM; - else if (strcmp(optarg, "aarch64") == 0) - arch = AUDIT_ARCH_AARCH64; -+ else if (strcmp(optarg, "loongarch64") == 0) -+ arch = AUDIT_ARCH_LOONGARCH64; - else if (strcmp(optarg, "mips") == 0) - arch = AUDIT_ARCH_MIPS; - else if (strcmp(optarg, "mipsel") == 0) -diff --git a/tools/scmp_bpf_sim.c b/tools/scmp_bpf_sim.c -index a381314..a2b31f1 100644 ---- a/tools/scmp_bpf_sim.c -+++ b/tools/scmp_bpf_sim.c -@@ -259,6 +259,8 @@ int main(int argc, char *argv[]) - arch = AUDIT_ARCH_ARM; - else if (strcmp(optarg, "aarch64") == 0) - arch = AUDIT_ARCH_AARCH64; -+ else if (strcmp(optarg, "loongarch64") == 0) -+ arch = AUDIT_ARCH_LOONGARCH64; - else if (strcmp(optarg, "mips") == 0) - arch = AUDIT_ARCH_MIPS; - else if (strcmp(optarg, "mipsel") == 0) -diff --git a/tools/util.c b/tools/util.c -index 5687b30..433bbfa 100644 ---- a/tools/util.c -+++ b/tools/util.c -@@ -44,6 +44,8 @@ - #define ARCH_NATIVE AUDIT_ARCH_ARM - #elif __aarch64__ - #define ARCH_NATIVE AUDIT_ARCH_AARCH64 -+#elif __loongarch64 -+#define ARCH_NATIVE AUDIT_ARCH_LOONGARCH64 - #elif __mips__ && _MIPS_SIM == _MIPS_SIM_ABI32 - #if __MIPSEB__ - #define ARCH_NATIVE AUDIT_ARCH_MIPS -diff --git a/tools/util.h b/tools/util.h -index 6c2ca33..24b9ed6 100644 ---- a/tools/util.h -+++ b/tools/util.h -@@ -37,6 +37,17 @@ - #define AUDIT_ARCH_AARCH64 (EM_AARCH64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) - #endif /* AUDIT_ARCH_AARCH64 */ - -+/** -+ * The 64-bit LoongArch architecture tokens -+ */ -+/* 64-bit LoongArch audit support is upstream as of 5.19-rc1 */ -+#ifndef AUDIT_ARCH_LOONGARCH64 -+#ifndef EM_LOONGARCH -+#define EM_LOONGARCH 258 -+#endif /* EM_LOONGARCH */ -+#define AUDIT_ARCH_LOONGARCH64 (EM_LOONGARCH|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) -+#endif /* AUDIT_ARCH_LOONGARCH64 */ -+ - /** - * The MIPS architecture tokens - */ -- GitLab