Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 23 additions & 7 deletions src/arch-syscall-validate
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,19 @@ function mangle_lib_syscall() {
sed $sed_filter | sed '/,-[0-9]\+$/d'
}

#
# Get the syscall ABIs enabled by the given Makefile.syscalls file
#
# Arguments:
# 1 path to the arch/<arch>/kernel/Makefile.syscalls file
# 2 the ABI bitness (32 or 64)
#
# Print the additional syscall.tbl tags enabled for the architecture.
#
function syscall_abis() {
sed -n "s/^syscall_abis_$2[[:space:]]*+=//p" "$1"
}

#
# Dump syscalls matching specified tags from the given syscall.tbl file
#
Expand Down Expand Up @@ -289,8 +302,8 @@ function dump_lib_arm() {
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
dump_from_syscall_tbl "$syscall_tbl_file" 64 \
$(syscall_abis "$1/arch/arm64/kernel/Makefile.syscalls" 64)
return
fi

Expand Down Expand Up @@ -339,8 +352,10 @@ 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
local makefile_syscalls="$1/arch/loongarch/kernel/Makefile.syscalls"
if [[ -e $makefile_syscalls ]]; then
dump_from_syscall_tbl "$1/scripts/syscall.tbl" 64 \
$(syscall_abis "$makefile_syscalls" 64)
return
fi

Expand Down Expand Up @@ -555,9 +570,10 @@ 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
local makefile_syscalls="$1/arch/riscv/kernel/Makefile.syscalls"
if [[ -e $makefile_syscalls ]]; then
dump_from_syscall_tbl "$1/scripts/syscall.tbl" 64 \
$(syscall_abis "$makefile_syscalls" 64)
return
fi

Expand Down
4 changes: 2 additions & 2 deletions src/syscalls.csv
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#syscall (v7.1.0-rc4 2026-05-19),x86,x86_kver,x86_64,x86_64_kver,x32,x32_kver,arm,arm_kver,aarch64,aarch64_kver,loongarch64,loongarch64_kver,m68k,m68k_kver,mips,mips_kver,mips64,mips64_kver,mips64n32,mips64n32_kver,parisc,parisc_kver,parisc64,parisc64_kver,ppc,ppc_kver,ppc64,ppc64_kver,riscv64,riscv64_kver,s390,s390_kver,s390x,s390x_kver,sh,sh_kver
#syscall (v7.1.0-rc4 2026-10-07),x86,x86_kver,x86_64,x86_64_kver,x32,x32_kver,arm,arm_kver,aarch64,aarch64_kver,loongarch64,loongarch64_kver,m68k,m68k_kver,mips,mips_kver,mips64,mips64_kver,mips64n32,mips64n32_kver,parisc,parisc_kver,parisc64,parisc64_kver,ppc,ppc_kver,ppc64,ppc64_kver,riscv64,riscv64_kver,s390,s390_kver,s390x,s390x_kver,sh,sh_kver
accept,PNR,SCMP_KV_UNDEF,43,SCMP_KV_UNDEF,43,SCMP_KV_UNDEF,285,SCMP_KV_UNDEF,202,SCMP_KV_UNDEF,202,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,168,SCMP_KV_UNDEF,42,SCMP_KV_UNDEF,42,SCMP_KV_UNDEF,35,SCMP_KV_UNDEF,35,SCMP_KV_UNDEF,330,SCMP_KV_UNDEF,330,SCMP_KV_UNDEF,202,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,344,SCMP_KV_UNDEF
accept4,364,SCMP_KV_UNDEF,288,SCMP_KV_UNDEF,288,SCMP_KV_UNDEF,366,SCMP_KV_UNDEF,242,SCMP_KV_UNDEF,242,SCMP_KV_UNDEF,361,SCMP_KV_UNDEF,334,SCMP_KV_UNDEF,293,SCMP_KV_UNDEF,297,SCMP_KV_UNDEF,320,SCMP_KV_UNDEF,320,SCMP_KV_UNDEF,344,SCMP_KV_UNDEF,344,SCMP_KV_UNDEF,242,SCMP_KV_UNDEF,364,SCMP_KV_UNDEF,364,SCMP_KV_UNDEF,358,SCMP_KV_UNDEF
access,33,SCMP_KV_UNDEF,21,SCMP_KV_UNDEF,21,SCMP_KV_UNDEF,33,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,33,SCMP_KV_UNDEF,33,SCMP_KV_UNDEF,20,SCMP_KV_UNDEF,20,SCMP_KV_UNDEF,33,SCMP_KV_UNDEF,33,SCMP_KV_UNDEF,33,SCMP_KV_UNDEF,33,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,33,SCMP_KV_UNDEF,33,SCMP_KV_UNDEF,33,SCMP_KV_UNDEF
Expand Down Expand Up @@ -210,7 +210,7 @@ map_shadow_stack,453,SCMP_KV_UNDEF,453,SCMP_KV_UNDEF,453,SCMP_KV_UNDEF,453,SCMP_
mbind,274,SCMP_KV_UNDEF,237,SCMP_KV_UNDEF,237,SCMP_KV_UNDEF,319,SCMP_KV_UNDEF,235,SCMP_KV_UNDEF,235,SCMP_KV_UNDEF,268,SCMP_KV_UNDEF,268,SCMP_KV_UNDEF,227,SCMP_KV_UNDEF,231,SCMP_KV_UNDEF,260,SCMP_KV_UNDEF,260,SCMP_KV_UNDEF,259,SCMP_KV_UNDEF,259,SCMP_KV_UNDEF,235,SCMP_KV_UNDEF,268,SCMP_KV_UNDEF,268,SCMP_KV_UNDEF,274,SCMP_KV_UNDEF
membarrier,375,SCMP_KV_UNDEF,324,SCMP_KV_UNDEF,324,SCMP_KV_UNDEF,389,SCMP_KV_UNDEF,283,SCMP_KV_UNDEF,283,SCMP_KV_UNDEF,374,SCMP_KV_UNDEF,358,SCMP_KV_UNDEF,318,SCMP_KV_UNDEF,322,SCMP_KV_UNDEF,343,SCMP_KV_UNDEF,343,SCMP_KV_UNDEF,365,SCMP_KV_UNDEF,365,SCMP_KV_UNDEF,283,SCMP_KV_UNDEF,356,SCMP_KV_UNDEF,356,SCMP_KV_UNDEF,378,SCMP_KV_UNDEF
memfd_create,356,SCMP_KV_UNDEF,319,SCMP_KV_UNDEF,319,SCMP_KV_UNDEF,385,SCMP_KV_UNDEF,279,SCMP_KV_UNDEF,279,SCMP_KV_UNDEF,353,SCMP_KV_UNDEF,354,SCMP_KV_UNDEF,314,SCMP_KV_UNDEF,318,SCMP_KV_UNDEF,340,SCMP_KV_UNDEF,340,SCMP_KV_UNDEF,360,SCMP_KV_UNDEF,360,SCMP_KV_UNDEF,279,SCMP_KV_UNDEF,350,SCMP_KV_UNDEF,350,SCMP_KV_UNDEF,374,SCMP_KV_UNDEF
memfd_secret,447,SCMP_KV_UNDEF,447,SCMP_KV_UNDEF,447,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,447,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,447,SCMP_KV_UNDEF,447,SCMP_KV_UNDEF,447,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF
memfd_secret,447,SCMP_KV_UNDEF,447,SCMP_KV_UNDEF,447,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,447,SCMP_KV_UNDEF,447,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,447,SCMP_KV_UNDEF,447,SCMP_KV_UNDEF,447,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF
migrate_pages,294,SCMP_KV_UNDEF,256,SCMP_KV_UNDEF,256,SCMP_KV_UNDEF,400,SCMP_KV_UNDEF,238,SCMP_KV_UNDEF,238,SCMP_KV_UNDEF,287,SCMP_KV_UNDEF,287,SCMP_KV_UNDEF,246,SCMP_KV_UNDEF,250,SCMP_KV_UNDEF,272,SCMP_KV_UNDEF,272,SCMP_KV_UNDEF,258,SCMP_KV_UNDEF,258,SCMP_KV_UNDEF,238,SCMP_KV_UNDEF,287,SCMP_KV_UNDEF,287,SCMP_KV_UNDEF,294,SCMP_KV_UNDEF
mincore,218,SCMP_KV_UNDEF,27,SCMP_KV_UNDEF,27,SCMP_KV_UNDEF,219,SCMP_KV_UNDEF,232,SCMP_KV_UNDEF,232,SCMP_KV_UNDEF,237,SCMP_KV_UNDEF,217,SCMP_KV_UNDEF,26,SCMP_KV_UNDEF,26,SCMP_KV_UNDEF,72,SCMP_KV_UNDEF,72,SCMP_KV_UNDEF,206,SCMP_KV_UNDEF,206,SCMP_KV_UNDEF,232,SCMP_KV_UNDEF,218,SCMP_KV_UNDEF,218,SCMP_KV_UNDEF,218,SCMP_KV_UNDEF
mkdir,39,SCMP_KV_UNDEF,83,SCMP_KV_UNDEF,83,SCMP_KV_UNDEF,39,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,39,SCMP_KV_UNDEF,39,SCMP_KV_UNDEF,81,SCMP_KV_UNDEF,81,SCMP_KV_UNDEF,39,SCMP_KV_UNDEF,39,SCMP_KV_UNDEF,39,SCMP_KV_UNDEF,39,SCMP_KV_UNDEF,PNR,SCMP_KV_UNDEF,39,SCMP_KV_UNDEF,39,SCMP_KV_UNDEF,39,SCMP_KV_UNDEF
Expand Down
Loading