From: sashiko-bot@kernel.org
To: "André Almeida" <andrealmeid@igalia.com>,
"Masami Hiramatsu" <mhiramat@kernel.org>,
"Arnd Bergmanon" <arnd@arndb.de>
Cc: "Christian Brauner" <brauner@kernel.org>,
linux-kbuild@vger.kernel.org, kernel-dev@igalia.com,
"Thomas Bogendoerfer" <tsbogend@alpha.franken.de>,
linux-s390@vger.kernel.org, sparclinux@vger.kernel.org,
nathan@kernel.org, nsc@kernel.org,
"Heiko Carstens" <hca@linux.ibm.com>,
"Vasily Gorbik" <gor@linux.ibm.com>,
"Alexander Gordeev" <agordeev@linux.ibm.com>,
"Christian Borntraeger" <borntraeger@linux.ibm.com>
Subject: Re: [PATCH v9 03/15] scripts/syscall.tbl: Use the common table
Date: Fri, 06 Nov 2026 20:33:34 +0000 [thread overview]
Message-ID: <sashiko-outbox-202216@kernel.org> (raw)
In-Reply-To: <20261105-tonyk-syscall_table-v9-3-8d1275885d9c@igalia.com>
Thank you for your contribution! Sashiko AI review found 1 potential
issue to consider:
- [Medium] perf: missing syscall_common.tbl support in perf
syscalltbl.sh
--
commit dac6905b3ac66002c3213b943d87d4be75189339
Author: André Almeida <andrealmeid@igalia.com>
scripts/syscall.tbl: Use the common table
This commit removes syscall entries 403 through 472 from scripts/syscall.tbl
and arch/arm64/tools/syscall_32.tbl so that they are instead sourced from
scripts/syscall_common.tbl via scripts/Makefile.asm-headers. It also adds the
clone3 ABI to architecture Makefile.syscalls files accordingly.
> diff --git a/scripts/syscall.tbl b/scripts/syscall.tbl
> index 0ab5316051202..ee828d03094ed 100644
> --- a/scripts/syscall.tbl
> +++ b/scripts/syscall.tbl
> @@ -344,72 +344,3 @@
> 293 common rseq sys_rseq
> 294 common kexec_file_load sys_kexec_file_load
> # 295 through 402 are unassigned to sync up with generic numbers don't use
> -403 32 clock_gettime64 sys_clock_gettime
> -404 32 clock_settime64 sys_clock_settime
> -405 32 clock_adjtime64 sys_clock_adjtime
> -406 32 clock_getres_time64 sys_clock_getres
> -407 32 clock_nanosleep_time64 sys_clock_nanosleep
> -408 32 timer_gettime64 sys_timer_gettime
> -409 32 timer_settime64 sys_timer_settime
> -410 32 timerfd_gettime64 sys_timerfd_gettime
> -411 32 timerfd_settime64 sys_timerfd_settime
> -412 32 utimensat_time64 sys_utimensat
> -413 32 pselect6_time64 sys_pselect6 compat_sys_pselect6_time64
> -414 32 ppoll_time64 sys_ppoll compat_sys_ppoll_time64
> -416 32 io_pgetevents_time64 sys_io_pgetevents compat_sys_io_pgetevents_time64
> -417 32 recvmmsg_time64 sys_recvmmsg compat_sys_recvmmsg_time64
> -418 32 mq_timedsend_time64 sys_mq_timedsend
> -419 32 mq_timedreceive_time64 sys_mq_timedreceive
> -420 32 semtimedop_time64 sys_semtimedop
> -421 32 rt_sigtimedwait_time64 sys_rt_sigtimedwait compat_sys_rt_sigtimedwait_time64
> -422 32 futex_time64 sys_futex
> -423 32 sched_rr_get_interval_time64 sys_sched_rr_get_interval
> -424 common pidfd_send_signal sys_pidfd_send_signal
> -425 common io_uring_setup sys_io_uring_setup
> -426 common io_uring_enter sys_io_uring_enter
> -427 common io_uring_register sys_io_uring_register
> -428 common open_tree sys_open_tree
> -429 common move_mount sys_move_mount
> -430 common fsopen sys_fsopen
> -431 common fsconfig sys_fsconfig
> -432 common fsmount sys_fsmount
> -433 common fspick sys_fspick
> -434 common pidfd_open sys_pidfd_open
> -435 common clone3 sys_clone3
> -436 common close_range sys_close_range
> -437 common openat2 sys_openat2
> -438 common pidfd_getfd sys_pidfd_getfd
> -439 common faccessat2 sys_faccessat2
> -440 common process_madvise sys_process_madvise
> -441 common epoll_pwait2 sys_epoll_pwait2 compat_sys_epoll_pwait2
> -442 common mount_setattr sys_mount_setattr
> -443 common quotactl_fd sys_quotactl_fd
> -444 common landlock_create_ruleset sys_landlock_create_ruleset
> -445 common landlock_add_rule sys_landlock_add_rule
> -446 common landlock_restrict_self sys_landlock_restrict_self
> -447 memfd_secret memfd_secret sys_memfd_secret
> -448 common process_mrelease sys_process_mrelease
> -449 common futex_waitv sys_futex_waitv
> -450 common set_mempolicy_home_node sys_set_mempolicy_home_node
> -451 common cachestat sys_cachestat
> -452 common fchmodat2 sys_fchmodat2
> -453 common map_shadow_stack sys_map_shadow_stack
> -454 common futex_wake sys_futex_wake
> -455 common futex_wait sys_futex_wait
> -456 common futex_requeue sys_futex_requeue
> -457 common statmount sys_statmount
> -458 common listmount sys_listmount
> -459 common lsm_get_self_attr sys_lsm_get_self_attr
> -460 common lsm_set_self_attr sys_lsm_set_self_attr
> -461 common lsm_list_modules sys_lsm_list_modules
> -462 common mseal sys_mseal
> -463 common setxattrat sys_setxattrat
> -464 common getxattrat sys_getxattrat
> -465 common listxattrat sys_listxattrat
> -466 common removexattrat sys_removexattrat
> -467 common open_tree_attr sys_open_tree_attr
> -468 common file_getattr sys_file_getattr
> -469 common file_setattr sys_file_setattr
> -470 common listns sys_listns
> -471 common rseq_slice_yield sys_rseq_slice_yield
> -472 common fchroot sys_fchroot
[Severity: Medium]
As reported by Sashiko on v8 [1], removing syscalls 403 through 472 from
scripts/syscall.tbl leaves tools/perf out of sync and unable to resolve these
syscall numbers when tools/scripts/syscall.tbl is updated.
In tools/perf/check-headers.sh, scripts/syscall.tbl is checked against
tools/scripts/syscall.tbl:
declare -a FILES=(
...
"include/uapi/asm-generic/unistd.h"
"scripts/syscall.tbl"
)
And in tools/perf/trace/beauty/syscalltbl.sh, build_tables() generates the
perf syscall tables for CSKY, RISC-V, and generic EM_NONE targets solely from
tools/scripts/syscall.tbl without reading scripts/syscall_common.tbl or
including the clone3 ABI:
build_tables "$tools_dir/scripts/syscall.tbl" "$outfile" common,32,csky,time32,stat64,rlimit EM_CSKY
...
build_tables "$tools_dir/scripts/syscall.tbl" "$outfile" common,32,riscv,memfd_secret EM_RISCV
echo "#else" >> "$outfile"
build_tables "$tools_dir/scripts/syscall.tbl" "$outfile" common,64,riscv,rlimit,memfd_secret EM_RISCV
...
build_tables "$tools_dir/scripts/syscall.tbl" "$outfile" common,32 EM_NONE
echo "#else" >> "$outfile"
build_tables "$tools_dir/scripts/syscall.tbl" "$outfile" common,64 EM_NONE
Will this cause check-headers.sh warnings during perf builds, and cause perf
trace to lose syscall number-to-name mappings for syscalls >= 403 on generic
syscall table architectures once tools/scripts/syscall.tbl is synchronized or
new syscalls are added to scripts/syscall_common.tbl?
[1] https://lore.kernel.org/r/20260918-tonyk-syscall_table-v8-3-0e2d60cad13e@igalia.com
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261105-tonyk-syscall_table-v9-0-8d1275885d9c@igalia.com?part=3
next prev parent reply other threads:[~2026-11-06 20:33 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-05 20:05 [PATCH v9 00/15] syscalls: Add a shared table for all archs André Almeida
2026-11-05 20:05 ` [PATCH v9 01/15] syscalls: Make --abis parsing more robust André Almeida
2026-11-05 20:05 ` [PATCH v9 02/15] syscalls: Create unified partial table for all archs André Almeida
2026-11-05 20:05 ` [PATCH v9 03/15] scripts/syscall.tbl: Use the common table André Almeida
2026-11-06 20:33 ` sashiko-bot [this message]
2026-11-05 20:05 ` [PATCH v9 04/15] s390: Use the common syscall table André Almeida
2026-11-05 20:05 ` [PATCH v9 05/15] sparc: " André Almeida
2026-11-05 20:05 ` [PATCH v9 06/15] mips: Remove duplicated syscallnr.sh André Almeida
2026-11-05 20:05 ` [PATCH v9 07/15] mips: Get rid of custom mips ABIs for syscall tables André Almeida
2026-11-05 20:05 ` [PATCH v9 08/15] mips: Use the common syscall table André Almeida
2026-11-05 20:05 ` [PATCH v9 09/15] syscalls: Add an option for offsetting the common table André Almeida
2026-11-05 20:05 ` [PATCH v9 10/15] alpha: Define entry point for set_mempolicy_home_node syscall André Almeida
2026-11-11 7:40 ` Magnus Lindholm
2026-11-05 20:05 ` [PATCH v9 11/15] alpha: Remove alpha_ prefix from custom syscall entries André Almeida
2026-11-06 20:33 ` sashiko-bot
2026-11-11 7:43 ` Magnus Lindholm
2026-11-05 20:05 ` [PATCH v9 12/15] alpha: Use the common syscall table André Almeida
2026-11-11 7:51 ` Magnus Lindholm
2026-11-05 20:05 ` [PATCH v9 13/15] syscalls: Avoid matching substrings in the ABI parsing André Almeida
2026-11-06 20:33 ` sashiko-bot
2026-11-05 20:05 ` [PATCH v9 14/15] arm: Reorganize syscall table and separated the ABIs André Almeida
2026-11-06 20:33 ` sashiko-bot
2026-11-05 20:05 ` [PATCH v9 15/15] arm: Use common syscall table André Almeida
2026-11-06 20:33 ` sashiko-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=sashiko-outbox-202216@kernel.org \
--to=sashiko-bot@kernel.org \
--cc=agordeev@linux.ibm.com \
--cc=andrealmeid@igalia.com \
--cc=arnd@arndb.de \
--cc=borntraeger@linux.ibm.com \
--cc=brauner@kernel.org \
--cc=gor@linux.ibm.com \
--cc=hca@linux.ibm.com \
--cc=kernel-dev@igalia.com \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=mhiramat@kernel.org \
--cc=nathan@kernel.org \
--cc=nsc@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
--cc=sparclinux@vger.kernel.org \
--cc=tsbogend@alpha.franken.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox