From: "André Almeida" <andrealmeid@igalia.com>
To: Thomas Gleixner <tglx@kernel.org>, Ingo Molnar <mingo@redhat.com>,
Borislav Petkov <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
"H. Peter Anvin" <hpa@zytor.com>,
Nathan Chancellor <nathan@kernel.org>,
Arnd Bergmann <arnd@arndb.de>
Cc: linux-kernel@vger.kernel.org, linux-kbuild@vger.kernel.org,
kernel-dev@igalia.com, "André Almeida" <andrealmeid@igalia.com>
Subject: [PATCH RFC 3/4] x86: Use common syscall table
Date: Fri, 24 Jul 2026 17:00:13 -0300 [thread overview]
Message-ID: <20260724-tonyk-syscall_table-v1-3-9c53188423da@igalia.com> (raw)
In-Reply-To: <20260724-tonyk-syscall_table-v1-0-9c53188423da@igalia.com>
Use common syscall table and drop the shared numbers from the x86 tables.
Signed-off-by: André Almeida <andrealmeid@igalia.com>
---
arch/x86/entry/syscalls/Makefile | 15 ++++++++-------
arch/x86/entry/syscalls/syscall_32.tbl | 30 ------------------------------
arch/x86/entry/syscalls/syscall_64.tbl | 30 ------------------------------
3 files changed, 8 insertions(+), 67 deletions(-)
diff --git a/arch/x86/entry/syscalls/Makefile b/arch/x86/entry/syscalls/Makefile
index eca5d6eff132..f4bdad7fea13 100644
--- a/arch/x86/entry/syscalls/Makefile
+++ b/arch/x86/entry/syscalls/Makefile
@@ -15,30 +15,31 @@ prefix :=
quiet_cmd_syshdr = SYSHDR $@
cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --abis $(abis) --emit-nr \
+ --common-tbl \
$(if $(offset),--offset $(offset)) \
$(if $(prefix),--prefix $(prefix)) \
$< $@
quiet_cmd_systbl = SYSTBL $@
- cmd_systbl = $(CONFIG_SHELL) $(systbl) --abis $(abis) $< $@
+ cmd_systbl = $(CONFIG_SHELL) $(systbl) --abis $(abis) --common-tbl $< $@
quiet_cmd_hypercalls = HYPERCALLS $@
cmd_hypercalls = $(CONFIG_SHELL) '$<' $@ $(filter-out $<, $(real-prereqs))
-$(uapi)/unistd_32.h: abis := i386
+$(uapi)/unistd_32.h: abis := common,i386,memfd_secret
$(uapi)/unistd_32.h: $(syscall32) $(syshdr) FORCE
$(call if_changed,syshdr)
-$(out)/unistd_32_ia32.h: abis := i386
+$(out)/unistd_32_ia32.h: abis := common,i386,memfd_secret
$(out)/unistd_32_ia32.h: prefix := ia32_
$(out)/unistd_32_ia32.h: $(syscall32) $(syshdr) FORCE
$(call if_changed,syshdr)
-$(uapi)/unistd_x32.h: abis := common,x32
+$(uapi)/unistd_x32.h: abis := common,x32,memfd_secret
$(uapi)/unistd_x32.h: offset := __X32_SYSCALL_BIT
$(uapi)/unistd_x32.h: $(syscall64) $(syshdr) FORCE
$(call if_changed,syshdr)
-$(uapi)/unistd_64.h: abis := common,64
+$(uapi)/unistd_64.h: abis := common,64,memfd_secret
$(uapi)/unistd_64.h: $(syscall64) $(syshdr) FORCE
$(call if_changed,syshdr)
@@ -47,10 +48,10 @@ $(out)/unistd_64_x32.h: prefix := x32_
$(out)/unistd_64_x32.h: $(syscall64) $(syshdr) FORCE
$(call if_changed,syshdr)
-$(out)/syscalls_32.h: abis := i386
+$(out)/syscalls_32.h: abis := common,i386,memfd_secret
$(out)/syscalls_32.h: $(syscall32) $(systbl) FORCE
$(call if_changed,systbl)
-$(out)/syscalls_64.h: abis := common,64
+$(out)/syscalls_64.h: abis := common,64,memfd_secret
$(out)/syscalls_64.h: $(syscall64) $(systbl) FORCE
$(call if_changed,systbl)
$(out)/syscalls_x32.h: abis := common,x32
diff --git a/arch/x86/entry/syscalls/syscall_32.tbl b/arch/x86/entry/syscalls/syscall_32.tbl
index f832ebd2d79b..77678941163d 100644
--- a/arch/x86/entry/syscalls/syscall_32.tbl
+++ b/arch/x86/entry/syscalls/syscall_32.tbl
@@ -447,33 +447,3 @@
439 i386 faccessat2 sys_faccessat2
440 i386 process_madvise sys_process_madvise
441 i386 epoll_pwait2 sys_epoll_pwait2 compat_sys_epoll_pwait2
-442 i386 mount_setattr sys_mount_setattr
-443 i386 quotactl_fd sys_quotactl_fd
-444 i386 landlock_create_ruleset sys_landlock_create_ruleset
-445 i386 landlock_add_rule sys_landlock_add_rule
-446 i386 landlock_restrict_self sys_landlock_restrict_self
-447 i386 memfd_secret sys_memfd_secret
-448 i386 process_mrelease sys_process_mrelease
-449 i386 futex_waitv sys_futex_waitv
-450 i386 set_mempolicy_home_node sys_set_mempolicy_home_node
-451 i386 cachestat sys_cachestat
-452 i386 fchmodat2 sys_fchmodat2
-453 i386 map_shadow_stack sys_map_shadow_stack
-454 i386 futex_wake sys_futex_wake
-455 i386 futex_wait sys_futex_wait
-456 i386 futex_requeue sys_futex_requeue
-457 i386 statmount sys_statmount
-458 i386 listmount sys_listmount
-459 i386 lsm_get_self_attr sys_lsm_get_self_attr
-460 i386 lsm_set_self_attr sys_lsm_set_self_attr
-461 i386 lsm_list_modules sys_lsm_list_modules
-462 i386 mseal sys_mseal
-463 i386 setxattrat sys_setxattrat
-464 i386 getxattrat sys_getxattrat
-465 i386 listxattrat sys_listxattrat
-466 i386 removexattrat sys_removexattrat
-467 i386 open_tree_attr sys_open_tree_attr
-468 i386 file_getattr sys_file_getattr
-469 i386 file_setattr sys_file_setattr
-470 i386 listns sys_listns
-471 i386 rseq_slice_yield sys_rseq_slice_yield
diff --git a/arch/x86/entry/syscalls/syscall_64.tbl b/arch/x86/entry/syscalls/syscall_64.tbl
index 524155d655da..915aa5a78132 100644
--- a/arch/x86/entry/syscalls/syscall_64.tbl
+++ b/arch/x86/entry/syscalls/syscall_64.tbl
@@ -366,36 +366,6 @@
439 common faccessat2 sys_faccessat2
440 common process_madvise sys_process_madvise
441 common epoll_pwait2 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 common 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
#
# Due to a historical design error, certain syscalls are numbered differently
--
2.55.0
next prev parent reply other threads:[~2026-07-24 20:00 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-24 20:00 [PATCH RFC 0/4] syscalls: Add a shared table for all archs André Almeida
2026-07-24 20:00 ` [PATCH RFC 1/4] syscalls: Create unified partial " André Almeida
2026-07-24 20:09 ` Arnd Bergmann
2026-07-24 20:18 ` André Almeida
2026-07-24 20:25 ` Arnd Bergmann
2026-07-24 21:22 ` H. Peter Anvin
2026-07-25 8:25 ` Arnd Bergmann
2026-07-24 20:00 ` [PATCH RFC 2/4] syscalls: Add support for x86_x32 for the common syscall table André Almeida
2026-07-24 20:16 ` Arnd Bergmann
2026-07-24 20:00 ` André Almeida [this message]
2026-07-24 20:00 ` [PATCH RFC 4/4] scripts/syscall.tbl: Use the common table André Almeida
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=20260724-tonyk-syscall_table-v1-3-9c53188423da@igalia.com \
--to=andrealmeid@igalia.com \
--cc=arnd@arndb.de \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=hpa@zytor.com \
--cc=kernel-dev@igalia.com \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=nathan@kernel.org \
--cc=tglx@kernel.org \
/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
all inboxes | Powered by JetHome®