libseccomp (2.5.5-2) unstable; urgency=medium
authorFelix Geyer <fgeyer@debian.org>
Sun, 24 Nov 2024 20:54:16 +0000 (21:54 +0100)
committerFelix Geyer <fgeyer@debian.org>
Sun, 24 Nov 2024 20:54:16 +0000 (21:54 +0100)
  * Revert: Dynamically skip autopkgtests when the test runner already applies
    seccomp restrictions.
    - Container based backends usually apply a seccomp filter so it's better
      to declare the isolation-machine restriction.
  * Backport support for syscalls up to kernel v6.12-rc5 and loongarch64.
    (Closes: #1051323)
    - syscalls_update_to_Linux_v6.0.patch
    - tests_add_fstatfs_syscall_in_the_06-sim-actions.patch
    - arch_Add_64-bit_LoongArch_support.patch
    - tests_Add_64-bit_LoongArch_support.patch
    - doc_update_README_and_manpage_for_64-bit_LoongArch.patch
    - tests_Fix_wrong_syscall-error_in_test_29.patch
    - tests_only_use_bogus_syscall_numbers_in_test_29.patch
    - arch_unify_handling_of_syscall.tbl_in_arch-syscall-validate.patch
    - arch_adapt_arch-syscall-validate_to_Linux_6.11.patch
    - syscalls_Update_the_syscall_table_for_Linux_v6.12-rc5.patch

[dgit import unpatched libseccomp 2.5.5-2]

37 files changed:
1  2 
debian/changelog
debian/control
debian/copyright
debian/docs
debian/gbp.conf
debian/libseccomp-dev.install
debian/libseccomp-dev.manpages
debian/libseccomp2.install
debian/libseccomp2.symbols
debian/not-installed
debian/patches/arch_Add_64-bit_LoongArch_support.patch
debian/patches/arch_adapt_arch-syscall-validate_to_Linux_6.11.patch
debian/patches/arch_unify_handling_of_syscall.tbl_in_arch-syscall-validate.patch
debian/patches/doc_update_README_and_manpage_for_64-bit_LoongArch.patch
debian/patches/python_Fix_distutils_DeprecationWarning.patch
debian/patches/python_single_version_externally_managed.patch
debian/patches/series
debian/patches/syscalls_Update_the_syscall_table_for_Linux_v6.12-rc5.patch
debian/patches/syscalls_update_to_Linux_v6.0.patch
debian/patches/tests_Add_64-bit_LoongArch_support.patch
debian/patches/tests_Fix_wrong_syscall-error_in_test_29.patch
debian/patches/tests_add_fstatfs_syscall_in_the_06-sim-actions.patch
debian/patches/tests_only_use_bogus_syscall_numbers_in_test_29.patch
debian/python-seccomp.install
debian/python3-seccomp.install
debian/rules
debian/salsa-ci.yml
debian/seccomp.install
debian/seccomp.manpages
debian/source/format
debian/tests/common
debian/tests/control
debian/tests/testsuite-live
debian/tests/testsuite-live-python3
debian/upstream/metadata
debian/upstream/signing-key.asc
debian/watch

index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..af40261595afaa1748d5e9791c717e976c78fa5a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,396 @@@
++libseccomp (2.5.5-2) unstable; urgency=medium
++
++  * Revert: Dynamically skip autopkgtests when the test runner already applies
++    seccomp restrictions.
++    - Container based backends usually apply a seccomp filter so it's better
++      to declare the isolation-machine restriction.
++  * Backport support for syscalls up to kernel v6.12-rc5 and loongarch64.
++    (Closes: #1051323)
++    - syscalls_update_to_Linux_v6.0.patch
++    - tests_add_fstatfs_syscall_in_the_06-sim-actions.patch
++    - arch_Add_64-bit_LoongArch_support.patch
++    - tests_Add_64-bit_LoongArch_support.patch
++    - doc_update_README_and_manpage_for_64-bit_LoongArch.patch
++    - tests_Fix_wrong_syscall-error_in_test_29.patch
++    - tests_only_use_bogus_syscall_numbers_in_test_29.patch
++    - arch_unify_handling_of_syscall.tbl_in_arch-syscall-validate.patch
++    - arch_adapt_arch-syscall-validate_to_Linux_6.11.patch
++    - syscalls_Update_the_syscall_table_for_Linux_v6.12-rc5.patch
++
++ -- Felix Geyer <fgeyer@debian.org>  Sun, 24 Nov 2024 21:54:16 +0100
++
++libseccomp (2.5.5-1) unstable; urgency=medium
++
++  * New upstream release.
++
++ -- Felix Geyer <fgeyer@debian.org>  Thu, 04 Jan 2024 18:29:54 +0100
++
++libseccomp (2.5.4-2) unstable; urgency=medium
++
++  * Fix watch file. (Closes: #1050659)
++  * Dynamically skip autopkgtests when the test runner already applies seccomp
++    restrictions.
++    - Drop isolation-machine restriction.
++  * Fix FTBFS with setuptools. (Closes: #1054788, #1033641)
++    - Add python_Fix_distutils_DeprecationWarning.patch
++    - Add python_single_version_externally_managed.patch
++    - Explicitly build-depend on python3-setuptools
++
++ -- Felix Geyer <fgeyer@debian.org>  Sun, 29 Oct 2023 15:13:08 +0100
++
++libseccomp (2.5.4-1) unstable; urgency=medium
++
++  * New upstream release.
++
++ -- Felix Geyer <fgeyer@debian.org>  Thu, 21 Apr 2022 22:23:12 +0200
++
++libseccomp (2.5.3-2) unstable; urgency=medium
++
++  [ Alex Murray ]
++  * Fix python version check in debian/rules to properly handle python3.10
++    to resolve FTBFS (Closes: #999364)
++
++ -- Felix Geyer <fgeyer@debian.org>  Thu, 18 Nov 2021 17:52:23 +0100
++
++libseccomp (2.5.3-1) experimental; urgency=medium
++
++  * New upstream release.
++  * Drop patches from 2.5.2-2, fixed upstream.
++
++ -- Felix Geyer <fgeyer@debian.org>  Sat, 06 Nov 2021 16:46:51 +0100
++
++libseccomp (2.5.2-2) unstable; urgency=medium
++
++  * Revert mips and powerpc multiplexed syscall handling.
++    - Fixes test suite failures. (Closes: #994285)
++
++ -- Felix Geyer <fgeyer@debian.org>  Sun, 03 Oct 2021 23:26:59 +0200
++
++libseccomp (2.5.2-1) unstable; urgency=medium
++
++  * New upstream release.
++  * Update watch file.
++
++ -- Felix Geyer <fgeyer@debian.org>  Tue, 07 Sep 2021 11:14:34 +0200
++
++libseccomp (2.5.1-1) unstable; urgency=medium
++
++  * New upstream release.
++  * Drop all patches as they have been applied upstream.
++
++ -- Felix Geyer <fgeyer@debian.org>  Mon, 21 Dec 2020 10:50:30 +0100
++
++libseccomp (2.5.0-3) unstable; urgency=medium
++
++  * Cherry-pick patch from the 2.5 branch to fix test error on mips:
++    - arch_ensure_we_dont_munge_pseudo_syscall_numbers.patch
++
++ -- Felix Geyer <fgeyer@debian.org>  Sun, 08 Nov 2020 19:59:21 +0100
++
++libseccomp (2.5.0-2) unstable; urgency=medium
++
++  * Upload to unstable.
++  * Cherry-pick patches from the 2.5 branch to fix build and test errors:
++    - build_undefine_mips_to_prevent_build_problems.patch
++    - tests_use_openat_and_fstat_instead_of_open_and_stat_syscalls.patch
++
++ -- Felix Geyer <fgeyer@debian.org>  Sun, 08 Nov 2020 15:49:41 +0100
++
++libseccomp (2.5.0-1) experimental; urgency=medium
++
++  * New upstream release.
++    - Build-depend on gperf.
++    - Update symbols file.
++  * Remove patches that have been applied upstream:
++    - cython3.patch
++    - riscv64_support.patch
++  * Cherry-pick patches from the 2.5 branch:
++    - all_only_request_the_userspace_notification_fd_once.patch
++    - system_change_our_notification_fd_handling.patch
++
++ -- Felix Geyer <fgeyer@debian.org>  Sat, 24 Oct 2020 13:58:28 +0200
++
++libseccomp (2.4.4-1) unstable; urgency=medium
++
++  * Team upload.
++
++  [ Debian Janitor ]
++  * Set upstream metadata fields: Repository, Repository-Browse.
++  * Set upstream metadata fields: Bug-Database, Bug-Submit, Repository.
++
++  [ Felix Geyer ]
++  * New upstream release.
++  * Download and verify orig gpg signature.
++
++ -- Felix Geyer <fgeyer@debian.org>  Sun, 20 Sep 2020 19:03:41 +0200
++
++libseccomp (2.4.3-1) unstable; urgency=medium
++
++  * New upstream release.
++  * Drop patches that have been applied upstream:
++    - tests-rely-on-__SNR_xxx-instead-of-__NR_xxx-for-sysc.patch
++    - api_define__SNR_ppoll_again.patch
++  * Cherry-pick support for the riscv64 architecture. (Closes: #952386)
++    - Add riscv64_support.patch
++
++ -- Felix Geyer <fgeyer@debian.org>  Thu, 12 Mar 2020 23:35:13 +0100
++
++libseccomp (2.4.2-2) unstable; urgency=medium
++
++  [ Christian Ehrhardt ]
++  * d/rules: fix potential FTFBS after full python3 switch
++  * d/t/control: drop python2 test following the removal of the package
++
++  [ Felix Geyer ]
++  * Remove build-dependency on valgrind for mips64el as it's broken there.
++  * Backport patch to define __SNR_ppoll again.
++    - Add api_define__SNR_ppoll_again.patch
++  * Replace custom patch for cython3 with the upstream fix.
++
++ -- Felix Geyer <fgeyer@debian.org>  Fri, 15 Nov 2019 18:12:53 +0100
++
++libseccomp (2.4.2-1) unstable; urgency=medium
++
++  [ Christian Ehrhardt ]
++  * New upstream release 2.4.2 for compatibility with newer kernels and
++    fixing FTBFS (LP: #1849785).
++    - drop d/p/python_install_dir.patch (now upstream)
++    - d/rules: adapt to python 3.8 lacking the m modifier on includes
++      see https://wiki.debian.org/Python/Python3.8
++    - d/p/tests-rely-on-__SNR_xxx-instead-of-__NR_xxx-for-sysc.patch: fix
++      build time test on arm64
++
++  [ Felix Geyer ]
++  * Drop Python 2 bindings. (Closes: #936917)
++    - Add cython3.patch to use the Python 3 cython variant.
++
++ -- Felix Geyer <fgeyer@debian.org>  Wed, 13 Nov 2019 00:00:49 +0100
++
++libseccomp (2.4.1-2) unstable; urgency=medium
++
++  * Remove build-dependency on valgrind for mipsel and x32 as it's broken
++    on those archs.
++  * Set Rules-Requires-Root: no.
++
++ -- Felix Geyer <fgeyer@debian.org>  Fri, 19 Jul 2019 00:03:34 +0200
++
++libseccomp (2.4.1-1) unstable; urgency=medium
++
++  * New upstream release.
++    - Addresses CVE-2019-9893 (Closes: #924646)
++  * Drop all patches for parisc arch support, merged upstream.
++  * Build-depend on valgrind to run more unit tests.
++  * Run dh_auto_configure for every python 3 version to install the extension
++    in the correct path.
++  * Update the symbols file.
++  * Adapt autopkgtest to new upstream version:
++    - Build against pthread
++    - Build scmp_api_level tool
++  * Upgrade to debhelper compat level 12.
++    - Add d/not-installed file
++  * Fix install path of the python module.
++    - Add python_install_dir.patch
++  * Add autopkgtest for python packages.
++
++ -- Felix Geyer <fgeyer@debian.org>  Wed, 17 Jul 2019 23:23:28 +0200
++
++libseccomp (2.3.3-4) unstable; urgency=medium
++
++  [ Ondřej Nový ]
++  * d/copyright: Change Format URL to correct one
++
++  [ Helmut Grohne ]
++  * Fix FTCBFS: (Closes: #903556)
++    + Multiarchify python Build-Depends.
++    + Annotate cython dependencies with :native for now.
++    + Drop noop dh_auto_build invocations.
++    + Pass a suitable PYTHONPATH for python2.
++    + Pass _PYTHON_SYSCONFIGDATA_NAME for python3.
++
++ -- Felix Geyer <fgeyer@debian.org>  Sun, 10 Feb 2019 12:25:44 +0100
++
++libseccomp (2.3.3-3) unstable; urgency=medium
++
++  * Fix FTBFS: Adapt to renamed README file. (Closes: #902767)
++
++ -- Felix Geyer <fgeyer@debian.org>  Sun, 01 Jul 2018 20:32:03 +0200
++
++libseccomp (2.3.3-2) unstable; urgency=medium
++
++  [ Helmut Grohne ]
++  * Support the nopython build profile. (Closes: #897057)
++
++  [ Felix Geyer ]
++  * Run upstream "live" tests in an autopkgtest.
++
++ -- Felix Geyer <fgeyer@debian.org>  Sun, 13 May 2018 09:53:08 +0200
++
++libseccomp (2.3.3-1) unstable; urgency=medium
++
++  * New upstream release. (Closes: #895417)
++    - Adds pkey_mprotect syscall. (Closes: #893722)
++  * Refresh parisc patch.
++  * Move libseccomp2 back to /usr/lib. (Closes: #894988)
++  * Make test failures cause the build to fail. (Closes: 877901)
++  * Build python bindings. (Closes: #810712)
++  * Switch to debhelper compat level 10.
++  * Move git repo to salsa.debian.org
++  * Add myself to Uploaders.
++
++ -- Felix Geyer <fgeyer@debian.org>  Sun, 22 Apr 2018 23:55:03 +0200
++
++libseccomp (2.3.1-2.1) unstable; urgency=medium
++
++  [ Martin Pitt ]
++  * Non-maintainer upload with Kees' consent.
++
++  [ Laurent Bigonville ]
++  * Ensure strict enough generated dependencies (Closes: #844496)
++
++ -- Martin Pitt <mpitt@debian.org>  Thu, 17 Nov 2016 10:16:44 +0100
++
++libseccomp (2.3.1-2) unstable; urgency=medium
++
++  * Add hppa (parisc) support (Closes: #820501)
++
++ -- Luca Bruno <lucab@debian.org>  Sat, 28 May 2016 20:05:01 +0200
++
++libseccomp (2.3.1-1) unstable; urgency=medium
++
++  * New upstream release
++  * control: add Vcs-* fields
++
++ -- Luca Bruno <lucab@debian.org>  Tue, 05 Apr 2016 22:16:55 +0200
++
++libseccomp (2.3.0-1) unstable; urgency=medium
++
++  * New upstream release
++    + drop all patches, applied upstream
++  * libseccomp2: update symbols file
++  * control: add myself to uploaders
++  * control: bump policy version
++
++ -- Luca Bruno <lucab@debian.org>  Sun, 03 Apr 2016 00:31:09 +0200
++
++libseccomp (2.2.3-3) unstable; urgency=medium
++
++  [ Martin Pitt ]
++  * debian/patches/add-x86-32bit-socket-calls.patch: add the newly
++    connected direct socket calls. (Closes: #809556)
++  * debian/add-membarrier.patch: add membarrier syscall.
++  * Backport patches for ppc/ppc64 and s390x. (Closes: #800818)
++
++ -- Kees Cook <kees@debian.org>  Tue, 01 Sep 2015 15:37:31 -0700
++
++libseccomp (2.2.3-2) unstable; urgency=medium
++
++  * debian/control: enable mips64, mips64el, and x32 architectures,
++    thanks to Helmut Grohne (Closes: 797383).
++
++ -- Kees Cook <kees@debian.org>  Tue, 01 Sep 2015 15:37:31 -0700
++
++libseccomp (2.2.3-1) unstable; urgency=medium
++
++  * New upstream release (Closes: 793032).
++  * debian/control: update Homepage (Closes: 793033).
++
++ -- Kees Cook <kees@debian.org>  Mon, 03 Aug 2015 15:06:08 -0700
++
++libseccomp (2.2.1-2) unstable; urgency=medium
++
++  * debian/{rules,*.install}: move to /lib, thanks to Michael Biebl
++    (Closes: 788923).
++
++ -- Kees Cook <kees@debian.org>  Tue, 16 Jun 2015 12:45:08 -0700
++
++libseccomp (2.2.1-1) unstable; urgency=medium
++
++  * New upstream release (Closes: 785428).
++    - debian/patches dropped: incorporated upstream.
++  * debian/libseccomp2.symbols: include only documented symbols.
++  * debian/libseccomp-dev.install: include static library (Closes: 698508).
++  * debian/control:
++    - add newly supported arm64, mips, and mipsel.
++    - bump standards version, no changes needed.
++
++ -- Kees Cook <kees@debian.org>  Sat, 16 May 2015 08:15:26 -0700
++
++libseccomp (2.1.1-1) unstable; urgency=low
++
++  * New upstream release (Closes: 733293).
++  * copyright: add a few missed people.
++  * rules: adjusted for new test target.
++  * libseccomp2.symbols: drop accidentally exported functions.
++  * control:
++    - bump standards, no changes needed.
++    - add armel target
++
++ -- Kees Cook <kees@debian.org>  Sat, 12 Apr 2014 10:44:22 -0700
++
++libseccomp (2.1.0+dfsg-1) unstable; urgency=low
++
++  * Rebuild source package without accidental binaries (Closes: 725617).
++    - debian/watch: mangle upstream version check.
++  * debian/rules: make tests non-fatal while upstream fixes them
++    (Closes: 721292).
++
++ -- Kees Cook <kees@debian.org>  Sun, 06 Oct 2013 15:05:51 -0700
++
++libseccomp (2.1.0-1) unstable; urgency=low
++
++  * New upstream release (Closes: 718398):
++    - dropped debian/patches/manpage-dashes.patch: taken upstream.
++    - dropped debian/patches/include-unistd.patch: not needed.
++    - debian/patches/testsuite-x86-write.patch: taken upstream.
++    - ABI bump: moved from libseccomp1 to libseccomp2.
++  * debian/control:
++    - added Arch: armhf, now supported upstream.
++    - added seccomp binary package for helper tools.
++  * Added debian/patches/manpage-typo.patch: spelling fix.
++  * Added debian/patches/build-ldflags.patch: fix LDFLAGS handling.
++
++ -- Kees Cook <kees@debian.org>  Tue, 13 Aug 2013 00:02:01 -0700
++
++libseccomp (1.0.1-2) unstable; urgency=low
++
++  * debian/rules: enable testsuite at build time, thanks to
++    Stéphane Graber (Closes: 698803).
++  * Added debian/patches/include-unistd.patch: detect location of
++    asm/unistd.h correctly.
++  * Added debian/patches/testsuite-x86-write.patch: skip the "write"
++    syscall correctly on x86.
++  * debian/control: bump standards to 3.9.4, no changes needed.
++
++ -- Kees Cook <kees@debian.org>  Wed, 23 Jan 2013 13:11:53 -0800
++
++libseccomp (1.0.1-1) unstable; urgency=low
++
++  * New upstream release.
++  * debian/control: only build on amd64 and i386 (Closes: 687368).
++
++ -- Kees Cook <kees@debian.org>  Fri, 07 Dec 2012 11:38:03 -0800
++
++libseccomp (1.0.0-1) unstable; urgency=low
++
++  * New upstream release.
++    - bump ABI.
++    - drop build verbosity patch, use upstream V=1 instead.
++  * libseccomp-dev.manpages: fix build location (Closes: 682152, 682471).
++  * debian/patches/pkgconfig-macro.patch: use literals for macro.
++
++ -- Kees Cook <kees@debian.org>  Fri, 03 Aug 2012 16:59:41 -0700
++
++libseccomp (0.1.0-1) unstable; urgency=low
++
++  * New upstream release.
++    - drop patches taken upstream:
++      - libexecdir.patch
++      - pass-flags.patch
++
++ -- Kees Cook <kees@debian.org>  Fri, 08 Jun 2012 12:32:22 -0700
++
++libseccomp (0.0.0~20120605-1) unstable; urgency=low
++
++  * Initial release (Closes: #676257).
++
++ -- Kees Cook <kees@debian.org>  Tue, 05 Jun 2012 11:28:07 -0700
diff --cc debian/control
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..592487b06932fa03f59cd8d266ce66b671425451
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,64 @@@
++Source: libseccomp
++Section: libs
++Priority: optional
++Maintainer: Kees Cook <kees@debian.org>
++Uploaders: Luca Bruno <lucab@debian.org>, Felix Geyer <fgeyer@debian.org>
++Build-Depends: debhelper-compat (= 12),
++               linux-libc-dev,
++               dh-python <!nopython>,
++               python3-all-dev:any <!nopython>,
++               libpython3-all-dev <!nopython>,
++               cython3:native <!nopython>,
++               python3-setuptools <!nopython>,
++               valgrind [amd64 arm64 armhf i386 mips mips64 powerpc ppc64 ppc64el s390x] <!nocheck>,
++               gperf
++Rules-Requires-Root: no
++Standards-Version: 3.9.7
++Homepage: https://github.com/seccomp/libseccomp
++Vcs-Git: https://salsa.debian.org/debian/libseccomp.git
++Vcs-Browser: https://salsa.debian.org/debian/libseccomp
++
++Package: libseccomp-dev
++Section: libdevel
++Architecture: linux-any
++Multi-Arch: same
++Pre-Depends: ${misc:Pre-Depends}
++Depends: libseccomp2 (= ${binary:Version}), ${misc:Depends}
++Suggests: seccomp
++Description: high level interface to Linux seccomp filter (development files)
++ This library provides a high level interface to constructing, analyzing
++ and installing seccomp filters via a BPF passed to the Linux Kernel's
++ prctl() syscall.
++ .
++ This package contains the development files.
++
++Package: libseccomp2
++Architecture: linux-any
++Multi-Arch: same
++Pre-Depends: ${misc:Pre-Depends}
++Depends: ${shlibs:Depends}, ${misc:Depends}
++Description: high level interface to Linux seccomp filter
++ This library provides a high level interface to constructing, analyzing
++ and installing seccomp filters via a BPF passed to the Linux Kernel's
++ prctl() syscall.
++
++Package: seccomp
++Section: utils
++Architecture: linux-any
++Depends: ${shlibs:Depends}, ${misc:Depends}
++Suggests: libseccomp-dev
++Description: helper tools for high level interface to Linux seccomp filter
++ Provides helper tools for interacting with libseccomp. Currently, only
++ a single tool exists, providing a way to easily enumerate syscalls across
++ the supported architectures.
++
++Package: python3-seccomp
++Build-Profiles: <!nopython>
++Architecture: linux-any
++Multi-Arch: same
++Section: python
++Depends: ${shlibs:Depends}, ${misc:Depends}, ${python3:Depends}
++Description: high level interface to Linux seccomp filter (Python 3 bindings)
++ This library provides a high level interface to constructing, analyzing
++ and installing seccomp filters via a BPF passed to the Linux Kernel's
++ prctl() syscall.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..307817f54afe13eb7f146a8f8e85dfad0bae64b8
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,39 @@@
++Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
++Upstream-Name: libseccomp
++Source: https://sourceforge.net/projects/libseccomp/
++
++Files: *
++Copyright: 2012 Paul Moore <pmoore@redhat.com>
++ 2012 Ashley Lai <adlai@us.ibm.com>
++ 2012 Corey Bryant <coreyb@linux.vnet.ibm.com>
++ 2012 Eduardo Otubo <otubo@linux.vnet.ibm.com>
++ 2012 Eric Paris <eparis@redhat.com>
++License: LGPL-2.1
++
++Files: tests/22-sim-basic_chains_array.tests
++Copyright: 2013 Vitaly Shukela <vi0oss@gmail.com>
++License: LGPL-2.1
++
++Files: src/hash.*
++Copyright: 2006 Bob Jenkins <bob_jenkins@burtleburtle.net>
++License: LGPL-2.1
++
++Files: debian/*
++Copyright: 2012 Kees Cook <kees@debian.org>
++License: LGPL-2.1
++
++License: LGPL-2.1
++ 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>.
++ .
++ On Debian systems, the complete text of the GNU Lesser General
++ Public License can be found in "/usr/share/common-licenses/LGPL-2.1".
diff --cc debian/docs
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b43bf86b50fd8d3529a0dc062c30006ed38f309e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++README.md
diff --cc debian/gbp.conf
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c16083c70301497da7056aa8868345ce382f0719
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,9 @@@
++[DEFAULT]
++upstream-tag = upstream/%(version)s
++debian-tag = debian/%(version)s
++pristine-tar = True
++upstream-branch = upstream
++debian-branch = debian/sid
++
++[buildpackage]
++submodules = True
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b973af43759c909c12021a4ec27161733bdeb602
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++usr/include/*
++usr/lib/*/lib*.so
++usr/lib/*/lib*.a
++usr/lib/*/pkgconfig/*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7c726776fbd540cadae526736588fea6d8703b56
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++debian/tmp/usr/share/man/man3/*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3ddde584198421f0d2a3fef9d36cc110f3b8b76d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/*/lib*.so.*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d1823d09ad3b050d3336ad20d8752120e95cbbc7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,34 @@@
++libseccomp.so.2 libseccomp2 #MINVER#
++* Build-Depends-Package: libseccomp-dev
++ seccomp_api_get@Base 2.4.1
++ seccomp_api_set@Base 2.4.1
++ seccomp_attr_get@Base 0.0.0~20120605
++ seccomp_attr_set@Base 0.0.0~20120605
++ seccomp_export_bpf@Base 0.0.0~20120605
++ seccomp_export_pfc@Base 0.0.0~20120605
++ seccomp_init@Base 0.0.0~20120605
++ seccomp_load@Base 0.0.0~20120605
++ seccomp_release@Base 0.0.0~20120605
++ seccomp_reset@Base 0.0.0~20120605
++ seccomp_rule_add@Base 0.0.0~20120605
++ seccomp_rule_add_exact@Base 0.0.0~20120605
++ seccomp_syscall_priority@Base 0.0.0~20120605
++ seccomp_syscall_resolve_name@Base 1.0.1
++ seccomp_merge@Base 1.0.1
++ seccomp_notify_alloc@Base 2.5.0
++ seccomp_notify_fd@Base 2.5.0
++ seccomp_notify_free@Base 2.5.0
++ seccomp_notify_id_valid@Base 2.5.0
++ seccomp_notify_receive@Base 2.5.0
++ seccomp_notify_respond@Base 2.5.0
++ seccomp_arch_add@Base 1.0.1
++ seccomp_arch_exist@Base 1.0.1
++ seccomp_arch_remove@Base 1.0.1
++ seccomp_arch_native@Base 2.1.0
++ seccomp_rule_add_array@Base 2.1.0
++ seccomp_rule_add_exact_array@Base 2.1.0
++ seccomp_syscall_resolve_name_arch@Base 2.1.0
++ seccomp_syscall_resolve_num_arch@Base 2.1.0
++ seccomp_arch_resolve_name@Base 2.2.1
++ seccomp_syscall_resolve_name_rewrite@Base 2.2.1
++ seccomp_version@Base 2.3.0
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4f605951640379a03f1776edff01d7c31b76fca8
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++usr/lib/python*/*-packages/install_files.txt
++usr/lib/python*/*-packages/seccomp-*.egg-info
++usr/lib/*/libseccomp.la
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ac7e0e4cec716f862d124c9674eaa0d47196be4a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,457 @@@
++From 6966ec77b195ac289ae168c7c5646d59a307f33f Mon Sep 17 00:00:00 2001
++From: Xiaotian Wu <wuxiaotian@loongson.cn>
++Date: Tue, 9 Feb 2021 15:39:13 +0800
++Subject: [PATCH] arch: Add 64-bit LoongArch support
++
++Signed-off-by: Xiaotian Wu <wuxiaotian@loongson.cn>
++Signed-off-by: WANG Xuerui <git@xen0n.name>
++Acked-by: Tom Hromatka <tom.hromatka@oracle.com>
++Signed-off-by: Paul Moore <paul@paul-moore.com>
++---
++ include/seccomp.h.in      | 12 ++++++++++
++ src/Makefile.am           |  1 +
++ src/arch-loongarch64.c    | 42 ++++++++++++++++++++++++++++++++
++ src/arch-loongarch64.h    | 28 ++++++++++++++++++++++
++ src/arch-syscall-dump.c   |  4 ++++
++ src/arch-syscall-validate | 50 +++++++++++++++++++++++++++++++++++++++
++ src/arch.c                |  7 ++++++
++ src/gen_pfc.c             |  2 ++
++ src/python/libseccomp.pxd |  1 +
++ src/python/seccomp.pyx    |  4 ++++
++ src/syscalls.h            |  4 ++++
++ src/system.c              |  1 +
++ tools/scmp_arch_detect.c  |  3 +++
++ tools/scmp_bpf_disasm.c   |  2 ++
++ tools/scmp_bpf_sim.c      |  2 ++
++ tools/util.c              |  2 ++
++ tools/util.h              | 11 +++++++++
++ 17 files changed, 176 insertions(+)
++ create mode 100644 src/arch-loongarch64.c
++ create mode 100644 src/arch-loongarch64.h
++
++diff --git a/include/seccomp.h.in b/include/seccomp.h.in
++index dfbb2671..4ab10d9c 100644
++--- a/include/seccomp.h.in
+++++ b/include/seccomp.h.in
++@@ -152,6 +152,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 1ff0ee75..8c39d9e0 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 00000000..8268204d
++--- /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 00000000..c3c06af7
++--- /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 843483b2..abc1680f 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"
++@@ -107,6 +108,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 0cb4d8f4..b2f62c6d 100755
++--- a/src/arch-syscall-validate
+++++ b/src/arch-syscall-validate
++@@ -306,6 +306,48 @@ 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() {
+++     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
++ #
++@@ -619,6 +661,9 @@ function dump_sys() {
++      aarch64)
++              dump_sys_aarch64 "$2"
++              ;;
+++     loongarch64)
+++             dump_sys_loongarch64 "$2"
+++             ;;
++      mips)
++              dump_sys_mips "$2"
++              ;;
++@@ -686,6 +731,9 @@ function dump_lib() {
++      aarch64)
++              dump_lib_aarch64
++              ;;
+++     loongarch64)
+++             dump_lib_loongarch64
+++             ;;
++      mips)
++              dump_lib_mips
++              ;;
++@@ -750,6 +798,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"
++@@ -861,6 +910,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 921e4557..8c45fa38 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"
++@@ -63,6 +64,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;
++@@ -141,6 +144,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:
++@@ -197,6 +202,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 4916055c..bb217c8e 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 55f8207d..a6bd0b43 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 5657577f..9891d761 100644
++--- a/src/python/seccomp.pyx
+++++ b/src/python/seccomp.pyx
++@@ -206,6 +206,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
++@@ -227,6 +228,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
++@@ -264,6 +266,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.h b/src/syscalls.h
++index 3a9e0cb5..10b2b7a2 100644
++--- a/src/syscalls.h
+++++ b/src/syscalls.h
++@@ -15,6 +15,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"
++@@ -51,6 +52,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 3d10e21d..e205de7a 100644
++--- a/src/system.c
+++++ b/src/system.c
++@@ -128,6 +128,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/tools/scmp_arch_detect.c b/tools/scmp_arch_detect.c
++index b6bd2bbd..c23cf7f6 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 b682de73..45726591 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 04edfbc3..7d31d790 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 afea6c90..327fc148 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 6c2ca33d..24b9ed6a 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
++  */
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8e5131d0f857e0ade5d4026ed9d0ed047c75ea17
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,59 @@@
++From 26e2b31a71d14e139730c2a4bbb626a249ad35b5 Mon Sep 17 00:00:00 2001
++From: WANG Xuerui <git@xen0n.name>
++Date: Tue, 20 Aug 2024 12:16:55 +0800
++Subject: [PATCH] arch: adapt arch-syscall-validate to Linux 6.11
++
++The aarch64, loongarch64 and riscv64 architectures have their syscall
++table sources changed to scripts/syscall.tbl, from the original
++inclusion of asm-generic/unistd.h. Make the script recognize the new
++format for these architectures.
++
++Signed-off-by: WANG Xuerui <git@xen0n.name>
++Signed-off-by: Paul Moore <paul@paul-moore.com>
++---
++ src/arch-syscall-validate | 18 ++++++++++++++++++
++ 1 file changed, 18 insertions(+)
++
++diff --git a/src/arch-syscall-validate b/src/arch-syscall-validate
++index b9808e8d..92229cd5 100755
++--- a/src/arch-syscall-validate
+++++ b/src/arch-syscall-validate
++@@ -287,6 +287,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/;'
++@@ -332,6 +339,11 @@ function dump_lib_aarch64() {
++ #  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/;'
++@@ -543,6 +555,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/;'
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f0eee3812b1637d4c579c5c0bf2647648638e650
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,221 @@@
++From cfce7b02f3fa44e36b7890f4ed92a3f4b8eb578b Mon Sep 17 00:00:00 2001
++From: WANG Xuerui <git@xen0n.name>
++Date: Tue, 20 Aug 2024 12:05:46 +0800
++Subject: [PATCH] arch: unify handling of syscall.tbl in arch-syscall-validate
++
++Apart from de-duplication of logic, this refactor is also going to help
++syncing to the Linux 6.11+ definitions, where all architectures are
++converted to source their syscall definitions from syscall.tbl files.
++
++The change is tested on Linux 6.2 sources to not affect the generated
++syscalls.csv apart from timestamp changes.
++
++Signed-off-by: WANG Xuerui <git@xen0n.name>
++Signed-off-by: Paul Moore <paul@paul-moore.com>
++---
++ src/arch-syscall-validate | 113 ++++++++++++++++----------------------
++ 1 file changed, 47 insertions(+), 66 deletions(-)
++
++diff --git a/src/arch-syscall-validate b/src/arch-syscall-validate
++index bbe2f4a8..b9808e8d 100755
++--- a/src/arch-syscall-validate
+++++ b/src/arch-syscall-validate
++@@ -162,6 +162,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
++ #
++@@ -171,9 +196,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
++ }
++ 
++ #
++@@ -194,9 +217,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
++ }
++ 
++ #
++@@ -217,9 +238,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
++ }
++ 
++ #
++@@ -240,14 +259,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
++ }
++ 
++ #
++@@ -381,11 +394,7 @@ function dump_lib_m68k() {
++ #  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
++ }
++ 
++ #
++@@ -406,11 +415,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
++ }
++ 
++ #
++@@ -431,11 +436,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
++ }
++ 
++ #
++@@ -456,11 +457,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
++ }
++ 
++ #
++@@ -481,11 +478,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
++ }
++ 
++ #
++@@ -506,9 +499,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
++ }
++ 
++ #
++@@ -529,9 +521,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
++ }
++ 
++ #
++@@ -595,10 +586,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
++ }
++ 
++ #
++@@ -619,10 +607,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
++ }
++ 
++ #
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1dc04d3ac5c18cbad2761bd61b00f2dded6693af
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,42 @@@
++From 7179ff3e7c0bb9dca87848259114fe57938890a6 Mon Sep 17 00:00:00 2001
++From: Xiaotian Wu <wuxiaotian@loongson.cn>
++Date: Tue, 9 Feb 2021 15:52:55 +0800
++Subject: [PATCH] doc: update README and manpage for 64-bit LoongArch
++
++Signed-off-by: Xiaotian Wu <wuxiaotian@loongson.cn>
++Acked-by: Tom Hromatka <tom.hromatka@oracle.com>
++Signed-off-by: Paul Moore <paul@paul-moore.com>
++---
++ README.md                        | 1 +
++ doc/man/man1/scmp_sys_resolver.1 | 6 +++---
++ 2 files changed, 4 insertions(+), 3 deletions(-)
++
++diff --git a/README.md b/README.md
++index 18a5d5ba..ccbad2fe 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 267187b9..37d48c16 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,
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..41896cc7e875fcad8099d9e27eb6dec3c89d483a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,55 @@@
++From afbde6ddaec7c58c3b281d43b0b287269ffca9bd Mon Sep 17 00:00:00 2001
++From: Tom Hromatka <tom.hromatka@oracle.com>
++Date: Mon, 21 Mar 2022 11:24:25 -0600
++Subject: [PATCH] python: Fix distutils DeprecationWarning
++
++The python distutils package is deprecated.  Utilize
++setuptools and cythonize instead.
++
++      ./setup.py:26: DeprecationWarning: The distutils
++      package is deprecated and slated for removal in
++      Python 3.12. Use setuptools or check PEP 632 [1] for
++      potential alternatives
++
++[1] https://peps.python.org/pep-0632/
++
++Fixes: https://github.com/seccomp/libseccomp/issues/372
++Acked-by: Paul Moore <paul@paul-moore.com>
++Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
++---
++ src/python/setup.py | 15 ++++++---------
++ 1 file changed, 6 insertions(+), 9 deletions(-)
++
++diff --git a/src/python/setup.py b/src/python/setup.py
++index 04191117..46f9a731 100755
++--- a/src/python/setup.py
+++++ b/src/python/setup.py
++@@ -23,9 +23,9 @@
++ 
++ import os
++ 
++-from distutils.core import setup
++-from distutils.extension import Extension
++-from Cython.Distutils import build_ext
+++from setuptools import setup
+++from setuptools.extension import Extension
+++from Cython.Build import cythonize
++ 
++ setup(
++      name = "seccomp",
++@@ -37,12 +37,9 @@
++      maintainer_email = "paul@paul-moore.com",
++      license = "LGPLv2.1",
++      platforms = "Linux",
++-     cmdclass = {'build_ext': build_ext},
++-     ext_modules = [
+++     ext_modules = cythonize([
++              Extension("seccomp", ["seccomp.pyx"],
++                      # unable to handle libtool libraries directly
++-                     extra_objects=["../.libs/libseccomp.a"],
++-                     # fix build warnings, see PEP 3123
++-                     extra_compile_args=["-fno-strict-aliasing"])
++-     ]
+++                     extra_objects=["../.libs/libseccomp.a"]),
+++     ])
++ )
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5e8be5b567f0cdbad7745c1ebc936c190d2c0415
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,14 @@@
++Fix building with setuptools instead of distutils.
++
++--- libseccomp-2.5.4.orig/src/python/Makefile.am
+++++ libseccomp-2.5.4/src/python/Makefile.am
++@@ -40,7 +40,8 @@ build: ../libseccomp.la libseccomp.pxd s
++ 
++ install-exec-local: build
++      ${PY_INSTALL} --install-lib=${DESTDIR}/${pyexecdir} \
++-             --record=${DESTDIR}/${pyexecdir}/install_files.txt
+++             --record=${DESTDIR}/${pyexecdir}/install_files.txt \
+++             --single-version-externally-managed
++ 
++ uninstall-local:
++      cat ${DESTDIR}/${pyexecdir}/install_files.txt | xargs ${RM} -f
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5eb36aec4c11637b4c01e261c648a2835627cfdf
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,14 @@@
++python_Fix_distutils_DeprecationWarning.patch
++python_single_version_externally_managed.patch
++
++# loongarch64 support
++syscalls_update_to_Linux_v6.0.patch
++tests_add_fstatfs_syscall_in_the_06-sim-actions.patch
++arch_Add_64-bit_LoongArch_support.patch
++tests_Add_64-bit_LoongArch_support.patch
++doc_update_README_and_manpage_for_64-bit_LoongArch.patch
++tests_Fix_wrong_syscall-error_in_test_29.patch
++tests_only_use_bogus_syscall_numbers_in_test_29.patch
++arch_unify_handling_of_syscall.tbl_in_arch-syscall-validate.patch
++arch_adapt_arch-syscall-validate_to_Linux_6.11.patch
++syscalls_Update_the_syscall_table_for_Linux_v6.12-rc5.patch
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..cb26266bb4c05e565a34973f02e46a3de3593cdc
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,268 @@@
++From f01e67509e45c672f4bdd643d94d90867cc19d90 Mon Sep 17 00:00:00 2001
++From: WANG Xuerui <git@xen0n.name>
++Date: Tue, 20 Aug 2024 12:21:21 +0800
++Subject: [PATCH] syscalls: Update the syscall table for Linux v6.12-rc5
++
++Due to the addition of fstat & newfstatat to the LoongArch syscall ABI,
++tests 38 and 55 have to be updated for the changed syscall numbers.
++
++As for the PNR additions, normally they are allocated alphabetically for
++the syscalls introduced between updates of the table, but in the v2.5
++release branch -10245 is already assigned to map_shadow_stack in
++commit 53267af3fb5 ("all: update the syscall table for Linux v6.7-rc3").
++While the map_shadow_stack syscall is in fact available across all
++architectures, for consistency with v2.5.5 and later it is kept in the
++same position in this update.
++
++Signed-off-by: WANG Xuerui <git@xen0n.name>
++Signed-off-by: Paul Moore <paul@paul-moore.com>
++---
++ include/seccomp-syscalls.h         | 51 +++++++++++++++++++++++++++---
++ src/syscalls.csv                   | 26 +++++++++++----
++ tests/38-basic-pfc_coverage.pfc    |  6 ++--
++ tests/55-basic-pfc_binary_tree.pfc | 20 ++++++------
++ 4 files changed, 80 insertions(+), 23 deletions(-)
++
++diff --git a/include/seccomp-syscalls.h b/include/seccomp-syscalls.h
++index 9488adc4..aff07d44 100644
++--- a/include/seccomp-syscalls.h
+++++ b/include/seccomp-syscalls.h
++@@ -276,6 +276,11 @@
++ #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
++@@ -1065,6 +1078,8 @@
++ #define __SNR_listen                 __PNR_listen
++ #endif
++ 
+++#define __SNR_listmount                      __NR_listmount
+++
++ #define __SNR_listxattr                      __NR_listxattr
++ 
++ #define __SNR_llistxattr             __NR_llistxattr
++@@ -1083,6 +1098,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
++@@ -1219,6 +1246,8 @@
++ 
++ #define __SNR_mremap                 __NR_mremap
++ 
+++#define __SNR_mseal                  __NR_mseal
+++
++ #ifdef __NR_msgctl
++ #define __SNR_msgctl                 __NR_msgctl
++ #else
++@@ -1561,6 +1590,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
++@@ -2051,6 +2086,8 @@
++ #define __SNR_statfs64                       __PNR_statfs64
++ #endif
++ 
+++#define __SNR_statmount                      __NR_statmount
+++
++ #ifdef __NR_statx
++ #define __SNR_statx                  __NR_statx
++ #else
++@@ -2259,6 +2296,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/src/syscalls.csv b/src/syscalls.csv
++index 1a831bfd..322fced6 100644
++--- a/src/syscalls.csv
+++++ b/src/syscalls.csv
++@@ -1,4 +1,4 @@
++-#syscall (v6.7.0 2024-02-05),x86,x86_64,x32,arm,aarch64,loongarch64,mips,mips64,mips64n32,parisc,parisc64,ppc,ppc64,riscv64,s390,s390x
+++#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
++@@ -90,7 +90,7 @@
++ 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,PNR,108,5,5,28,28,108,108,80,108,108
+++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
++@@ -183,6 +183,7 @@
++ 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
++@@ -191,10 +192,13 @@
++ 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,PNR,453,453,453,453,453,453,453,453,453,453,453,453,453
+++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
++@@ -226,6 +230,7 @@
++ 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
++@@ -237,7 +242,7 @@
++ 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,PNR,PNR,252,256,PNR,PNR,PNR,291,79,PNR,293
+++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
++@@ -310,6 +315,7 @@
++ 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
++@@ -415,6 +421,7 @@
++ 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
++@@ -466,6 +473,7 @@
++ 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
++diff --git a/tests/38-basic-pfc_coverage.pfc b/tests/38-basic-pfc_coverage.pfc
++index 815470e6..02cbf726 100644
++--- a/tests/38-basic-pfc_coverage.pfc
+++++ b/tests/38-basic-pfc_coverage.pfc
++@@ -305,15 +305,15 @@ if ($arch == 3221225730)
++   # filter for syscall "open" (4294957130) [priority: 65535]
++   if ($syscall == 4294957130)
++     action KILL;
++-  # filter for syscall "fstat" (4294957051) [priority: 65535]
++-  if ($syscall == 4294957051)
++-    action KILL_PROCESS;
++   # 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);
++diff --git a/tests/55-basic-pfc_binary_tree.pfc b/tests/55-basic-pfc_binary_tree.pfc
++index 33109454..e63aa12c 100644
++--- a/tests/55-basic-pfc_binary_tree.pfc
+++++ b/tests/55-basic-pfc_binary_tree.pfc
++@@ -178,8 +178,8 @@ if ($arch == 3221225655)
++ # filter for arch loongarch64 (3221225730)
++ if ($arch == 3221225730)
++   if ($syscall > 62)
++-    if ($syscall > 214)
++-      if ($syscall > 4294957051)
+++    if ($syscall > 139)
+++      if ($syscall > 226)
++         # filter for syscall "lstat" (4294957133) [priority: 65535]
++         if ($syscall == 4294957133)
++           action ERRNO(6);
++@@ -192,12 +192,7 @@ if ($arch == 3221225730)
++         # filter for syscall "stat" (4294957122) [priority: 65535]
++         if ($syscall == 4294957122)
++           action ERRNO(4);
++-      else # ($syscall <= 4294957051)
++-        # filter for syscall "fstat" (4294957051) [priority: 65533]
++-        if ($syscall == 4294957051)
++-          if ($a0.hi32 == 0)
++-            if ($a0.lo32 == 103)
++-              action ERRNO(5);
+++      else # ($syscall <= 226)
++         # filter for syscall "mprotect" (226) [priority: 65533]
++         if ($syscall == 226)
++           if ($a0.hi32 == 0)
++@@ -209,11 +204,11 @@ if ($arch == 3221225730)
++         # filter for syscall "munmap" (215) [priority: 65535]
++         if ($syscall == 215)
++           action ERRNO(11);
++-    else # ($syscall <= 214)
++-      if ($syscall > 68)
++         # 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);
++@@ -223,6 +218,11 @@ if ($arch == 3221225730)
++         # 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)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d708150dda71ba73385dab88d8e08068c06fb034
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1007 @@@
++From b9633de506eec837a9f91d4e98dedf5101fd5227 Mon Sep 17 00:00:00 2001
++From: Xiaotian Wu <wuxiaotian@loongson.cn>
++Date: Sat, 6 Nov 2021 14:13:49 +0800
++Subject: [PATCH] syscalls: update to Linux v6.0
++
++Signed-off-by: Xiaotian Wu <wuxiaotian@loongson.cn>
++Signed-off-by: WANG Xuerui <git@xen0n.name>
++Acked-by: Tom Hromatka <tom.hromatka@oracle.com>
++Signed-off-by: Paul Moore <paul@paul-moore.com>
++---
++ include/seccomp-syscalls.h |   1 +
++ src/syscalls.csv           | 964 ++++++++++++++++++-------------------
++ 2 files changed, 483 insertions(+), 482 deletions(-)
++
++diff --git a/include/seccomp-syscalls.h b/include/seccomp-syscalls.h
++index 845adb76..e1576d37 100644
++--- a/include/seccomp-syscalls.h
+++++ b/include/seccomp-syscalls.h
++@@ -276,6 +276,7 @@
++ #define __PNR_riscv_flush_icache             -10243
++ #define __PNR_memfd_secret                   -10244
++ #define __PNR_map_shadow_stack                       -10245
+++#define __PNR_fstat                          -10246
++ 
++ /*
++  * libseccomp syscall definitions
++diff --git a/src/syscalls.csv b/src/syscalls.csv
++index c08c27c5..aeb7c9e5 100644
++--- a/src/syscalls.csv
+++++ b/src/syscalls.csv
++@@ -1,488 +1,488 @@
++-#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.7.0 2024-02-05),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,PNR,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
+++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
+++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,PNR,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
+++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,PNR,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
+++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
+++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
+++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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1f390606a0dcb1396ea9a7990c6b6730ea30c31c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,569 @@@
++From 80c2c9fe4eac515b31292c522b51657800028018 Mon Sep 17 00:00:00 2001
++From: Xiaotian Wu <wuxiaotian@loongson.cn>
++Date: Tue, 9 Feb 2021 15:52:18 +0800
++Subject: [PATCH] tests: Add 64-bit LoongArch support
++
++[xen0n: LoongArch (and a few upcoming architectures / ABIs) does not
++have fstat, so the fstat in 06-sim-actions is also being changed to
++fstatfs for uniformity across the board.]
++
++Signed-off-by: Xiaotian Wu <wuxiaotian@loongson.cn>
++Signed-off-by: WANG Xuerui <git@xen0n.name>
++Acked-by: Tom Hromatka <tom.hromatka@oracle.com>
++Signed-off-by: Paul Moore <paul@paul-moore.com>
++---
++ tests/06-sim-actions.py            |  2 +-
++ tests/06-sim-actions.tests         |  7 ++-
++ tests/15-basic-resolver.c          |  1 +
++ tests/16-sim-arch_basic.c          |  6 ++
++ tests/16-sim-arch_basic.py         |  1 +
++ tests/23-sim-arch_all_le_basic.c   |  3 +
++ tests/23-sim-arch_all_le_basic.py  |  1 +
++ tests/36-sim-ipc_syscalls.c        |  3 +
++ tests/38-basic-pfc_coverage.c      |  3 +
++ tests/38-basic-pfc_coverage.pfc    | 97 ++++++++++++++++++++++++++++++
++ tests/53-sim-binary_tree.c         |  3 +
++ tests/53-sim-binary_tree.py        |  1 +
++ tests/53-sim-binary_tree.tests     | 78 ++++++++++++------------
++ tests/55-basic-pfc_binary_tree.c   |  3 +
++ tests/55-basic-pfc_binary_tree.pfc | 87 +++++++++++++++++++++++++++
++ tests/56-basic-iterate_syscalls.c  |  1 +
++ tests/56-basic-iterate_syscalls.py |  1 +
++ tests/regression                   |  4 +-
++ 18 files changed, 258 insertions(+), 44 deletions(-)
++
++diff --git a/tests/06-sim-actions.py b/tests/06-sim-actions.py
++index 253061df..cfbd4f47 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 0d1fda45..2092c385 100644
++--- a/tests/06-sim-actions.tests
+++++ b/tests/06-sim-actions.tests
++@@ -15,12 +15,13 @@ test type: bpf-sim
++ 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 c759dd19..bdb73f79 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 4fcbb5ca..be269c99 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);
++@@ -148,6 +151,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 f22c9855..79e68541 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 08f030c8..ef6d2c3a 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 12bb243f..783dc251 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/36-sim-ipc_syscalls.c b/tests/36-sim-ipc_syscalls.c
++index 06aaf6ac..da087e9a 100644
++--- a/tests/36-sim-ipc_syscalls.c
+++++ b/tests/36-sim-ipc_syscalls.c
++@@ -60,6 +60,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 64a656e4..c094cd44 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 c91f1a84..815470e6 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 "fstat" (4294957051) [priority: 65535]
+++  if ($syscall == 4294957051)
+++    action KILL_PROCESS;
+++  # 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 "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 4aa5f136..98b9e2cb 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 8ee58cda..8cda8107 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 2ebaafd5..9813d0d6 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 e364fd6b..0919f6b1 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 ba3244c4..33109454 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 > 214)
+++      if ($syscall > 4294957051)
+++        # 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 <= 4294957051)
+++        # filter for syscall "fstat" (4294957051) [priority: 65533]
+++        if ($syscall == 4294957051)
+++          if ($a0.hi32 == 0)
+++            if ($a0.lo32 == 103)
+++              action ERRNO(5);
+++        # 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);
+++    else # ($syscall <= 214)
+++      if ($syscall > 68)
+++        # filter for syscall "brk" (214) [priority: 65535]
+++        if ($syscall == 214)
+++          action ERRNO(12);
+++        # 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);
+++      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 5e7ab679..b514afa1 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 77a5b893..d69dd0cf 100755
++--- a/tests/56-basic-iterate_syscalls.py
+++++ b/tests/56-basic-iterate_syscalls.py
++@@ -33,6 +33,7 @@
++              "x32",
++              "arm",
++              "aarch64",
+++             "loongarch64",
++              "mipsel",
++              "mipsel64",
++              "mipsel64n32",
++diff --git a/tests/regression b/tests/regression
++index 746cea9a..32463c0a 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"
++@@ -47,6 +48,7 @@ GLBL_ARCH_32B_SUPPORT=" \
++ GLBL_ARCH_64B_SUPPORT=" \
++      x86_64 \
++      aarch64 \
+++     loongarch64 \
++      mips64 \
++      parisc64 \
++      ppc64 \
++@@ -801,7 +803,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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2a96b65e23c451ae27a3763a64f24ec2bee0f18e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,28 @@@
++From 1852fe3d772914d848907f9d0656747776ed3f98 Mon Sep 17 00:00:00 2001
++From: Mayank Mrinal <mayank.mrinal@sony.com>
++Date: Thu, 1 Jun 2023 14:53:44 +0530
++Subject: [PATCH] tests: Fix wrong syscall-error in test 29
++
++29-sim-pseudo_syscall.c was using `-11001` syscall.
++Corrected it to `-10001`.
++
++Signed-off-by: Mayank Mrinal <mayank.mrinal@sony.com>
++Acked-by: Paul Moore <paul@paul-moore.com>
++Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
++---
++ tests/29-sim-pseudo_syscall.c | 2 +-
++ 1 file changed, 1 insertion(+), 1 deletion(-)
++
++diff --git a/tests/29-sim-pseudo_syscall.c b/tests/29-sim-pseudo_syscall.c
++index acf9c193..86734a84 100644
++--- a/tests/29-sim-pseudo_syscall.c
+++++ b/tests/29-sim-pseudo_syscall.c
++@@ -57,7 +57,7 @@ int main(int argc, char *argv[])
++      if (rc == 0)
++              goto out;
++      /* -10001 == 4294957295 (unsigned) */
++-     rc = seccomp_rule_add_exact(ctx, SCMP_ACT_KILL, -11001, 0);
+++     rc = seccomp_rule_add_exact(ctx, SCMP_ACT_KILL, -10001, 0);
++      if (rc == 0)
++              goto out;
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..fccbf6ffca75444f9eb0e64c97c97b1326528ee6
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,39 @@@
++From 315f7b9ec6d8992035a2c0f652949ee34843db32 Mon Sep 17 00:00:00 2001
++From: Xiaotian Wu <wuxiaotian@loongson.cn>
++Date: Sun, 23 Oct 2022 14:36:42 +0800
++Subject: [PATCH] tests: add fstatfs() syscall in the 06-sim-actions
++
++Signed-off-by: Xiaotian Wu <wuxiaotian@loongson.cn>
++Acked-by: Tom Hromatka <tom.hromatka@oracle.com>
++Signed-off-by: Paul Moore <paul@paul-moore.com>
++---
++ tests/06-sim-actions.c     | 2 +-
++ tests/06-sim-actions.tests | 2 +-
++ 2 files changed, 2 insertions(+), 2 deletions(-)
++
++diff --git a/tests/06-sim-actions.c b/tests/06-sim-actions.c
++index da636c94..56a60fda 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.tests b/tests/06-sim-actions.tests
++index 76072a7a..0d1fda45 100644
++--- a/tests/06-sim-actions.tests
+++++ b/tests/06-sim-actions.tests
++@@ -12,7 +12,7 @@ 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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..92c6d46e4cac7f5adf9016b974f151c6cc320a74
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,75 @@@
++From 87876aa6ddb7cd70953f120f3d96495c2684ddda Mon Sep 17 00:00:00 2001
++From: Paul Moore <paul@paul-moore.com>
++Date: Thu, 5 Sep 2024 17:29:13 -0400
++Subject: [PATCH] tests: only use bogus syscall numbers in test 29
++
++The goal of test 29 is to test bogus negative syscall numbers,
++unfortunately it appears our choice of syscalls was not bogus on all
++the architectures we support.  This commit fixes that by picking a
++syscall number well outside the pseudo-syscall/PNR range and removing
++the sysmips(2) syscall from the test so as to not cause problems
++at a later date.
++
++Signed-off-by: Paul Moore <paul@paul-moore.com>
++Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
++---
++ tests/29-sim-pseudo_syscall.c     | 11 ++---------
++ tests/29-sim-pseudo_syscall.py    |  7 +------
++ tests/29-sim-pseudo_syscall.tests |  3 +--
++ 3 files changed, 4 insertions(+), 17 deletions(-)
++
++diff --git a/tests/29-sim-pseudo_syscall.c b/tests/29-sim-pseudo_syscall.c
++index 86734a84..3c3405a8 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, -10001, 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 d7ab33be..74ffc61d 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 45f8dceb..779761e8 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
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a71458d79155a583d230e66fe08776892cd715d8
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/python2.*/dist-packages/seccomp.so
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..97a45dc5694713a953ef14ccc1c7c24a875d3844
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/python3.*/site-packages/seccomp.cpython-*.so
diff --cc debian/rules
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..df1b96a14576517b9ea70fc9eddb09c1434279d5
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,37 @@@
++#!/usr/bin/make -f
++# -*- makefile -*-
++
++# Uncomment this to turn on verbose mode.
++#export DH_VERBOSE=1
++
++# Enable verbose build details.
++export V=1
++
++include /usr/share/dpkg/architecture.mk
++
++%:
++ifeq ($(filter nopython,$(DEB_BUILD_PROFILES)),)
++      dh $@ --with python3
++else
++      dh $@
++endif
++
++ifeq ($(filter nopython,$(DEB_BUILD_PROFILES)),)
++
++override_dh_auto_install:
++      dh_auto_install
++      for pyver in `py3versions -s`; do \
++              set -e; \
++              if python3 -c "pyver=tuple(map(int, '$$pyver'[6:].split('.'))); exit(0 if pyver >= (3,8) else 1)"; then \
++                      export _PYTHON_SYSCONFIGDATA_NAME='_sysconfigdata__${DEB_HOST_ARCH_OS}_${DEB_HOST_MULTIARCH}'; \
++              else \
++                      export _PYTHON_SYSCONFIGDATA_NAME='_sysconfigdata_m_${DEB_HOST_ARCH_OS}_${DEB_HOST_MULTIARCH}'; \
++              fi; \
++              dh_auto_configure -- --enable-python PYTHON=$$pyver; \
++              dh_auto_install --sourcedirectory=src/python -- PYTHON=$$pyver; \
++      done
++endif
++
++override_dh_auto_clean:
++      dh_auto_clean
++      rm -f regression.out
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3fa15ad6c796208a6722257bba6fd1a196715db8
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,14 @@@
++include:
++  - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/recipes/debian.yml
++
++variables:
++  SALSA_CI_ENABLE_BUILD_PACKAGE_PROFILES: 1
++  # job doesn't seem to be stable
++  SALSA_CI_DISABLE_CROSSBUILD_ARM64: 1
++
++test-build-profiles:
++  extends: .test-build-package-profiles
++  parallel:
++    matrix:
++      - BUILD_PROFILES: nocheck
++      - BUILD_PROFILES: nopython
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1df36c612fb7cd107795e240186fbddfc0f953b9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/bin/*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5ea05feb8038ba5fc32bc915ae644febebf68056
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++debian/tmp/usr/share/man/man1/*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..163aaf8d82b6c54f23c45f32895dbdfdcc27b047
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++3.0 (quilt)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e02e8db63f5f0d7a956ee71ffaf77f64788a8226
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,12 @@@
++SRCDIR="$(pwd)"
++
++mkdir "$AUTOPKGTEST_TMP/tests" "$AUTOPKGTEST_TMP/tools"
++cp -a tests/. "$AUTOPKGTEST_TMP/tests/"
++
++cd "$AUTOPKGTEST_TMP/tests"
++
++# build tools needed for tests
++for tool in scmp_api_level scmp_arch_detect scmp_sys_resolver; do
++  echo "Building $tool ..."
++  gcc -O2 -g "$SRCDIR/tools/$tool.c" "$SRCDIR/tools/util.c" -lseccomp -o ../tools/$tool
++done
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3d2c4ba4f0a42988e84f44b7c7bd591e1696c4d8
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,7 @@@
++Tests: testsuite-live
++Depends: libseccomp-dev, build-essential
++Restrictions: isolation-machine
++
++Tests: testsuite-live-python3
++Depends: libseccomp-dev, build-essential, python3-seccomp
++Restrictions: isolation-machine, allow-stderr
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..bbf20d047446ce2ad8fe8147d116159c73c699d0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,17 @@@
++#!/bin/sh
++
++set -eu
++
++. debian/tests/common
++
++# manually build necessary files against the installed libseccomp
++
++# build live tests
++for filename in *-live-*.tests; do
++  testname=$(echo "$filename" | cut -f 1 -d '.')
++  echo "Building $testname ..."
++  gcc -O2 -g "${testname}.c" util.c -pthread -lseccomp -o "$testname"
++done
++
++echo "Running test suite ..."
++./regression -T live
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f4fb094a770da53d17e0068712b43592584e23a0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,13 @@@
++#!/bin/sh
++
++set -eu
++
++. debian/tests/common
++
++# make sure "python" points to python3 as this is not configurable
++# in the regression script
++mkdir python3env
++ln -s /usr/bin/python3 python3env/python
++
++echo "Running test suite ..."
++PATH="$(pwd)/python3env:$PATH" ./regression -T live -m python
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0fef70b15da13a2738632d06198331ec1018c7f2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++Bug-Database: https://github.com/seccomp/libseccomp/issues
++Bug-Submit: https://github.com/seccomp/libseccomp/issues/new
++Repository: https://github.com/seccomp/libseccomp.git
++Repository-Browse: https://github.com/seccomp/libseccomp
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5ddf4356ed0af5cc32c48d46ed79f7e4fcbbd202
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,192 @@@
++-----BEGIN PGP PUBLIC KEY BLOCK-----
++
++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
++lUtY1AVxx4LtnS16GX+OVCybWzbK1uqLrfo=
++=9JXr
++-----END PGP PUBLIC KEY BLOCK-----
diff --cc debian/watch
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7db20171f89b40abb631fb54537b254fc1d61c11
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,5 @@@
++version=4
++opts="searchmode=plain,\
++pgpsigurlmangle=s/$/.asc/" \
++https://api.github.com/repos/seccomp/libseccomp/releases?per_page=50 \
++https://github.com/seccomp/libseccomp/releases/download/[^/]+/libseccomp-@ANY_VERSION@@ARCHIVE_EXT@"