Re: [PATCH v7 13/13] alpha: Use the common syscall table
Magnus Lindholm <[email protected]>
| Newsgroups | org.kernel.vger.linux-kernel,dev.linux.lists.soc,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-alpha,org.kernel.vger.linux-kbuild,org.kernel.vger.linux-mips,org.kernel.vger.linux-s390,org.kernel.vger.sparclinux |
|---|---|
| Message-ID | <CA+=Fv5Rx6Ccmxi2a2YmiMgc0Z7TaWvx8=27jpFE-k3Kfn8Q-ug@mail.gmail.com> |
Hi André, On Fri, Sep 18, 2026 at 1:48 AM André Almeida <[email protected]> wrote: > > Remove some of the duplicated code by using the common syscall number > table. > > Signed-off-by: André Almeida <[email protected]> > --- > arch/alpha/kernel/syscalls/Makefile | 14 +++++++--- > arch/alpha/kernel/syscalls/syscall.tbl | 49 ---------------------------------- > arch/alpha/kernel/systbls.S | 1 + > 3 files changed, 11 insertions(+), 53 deletions(-) > > diff --git a/arch/alpha/kernel/syscalls/Makefile b/arch/alpha/kernel/syscalls/Makefile > index b265e4bc16c2..03099daff6b9 100644 > --- a/arch/alpha/kernel/syscalls/Makefile > +++ b/arch/alpha/kernel/syscalls/Makefile > @@ -7,17 +7,23 @@ $(shell mkdir -p $(uapi) $(kapi)) > syscall := $(src)/syscall.tbl > syshdr := $(srctree)/scripts/syscallhdr.sh > systbl := $(srctree)/scripts/syscalltbl.sh > +systbl_common := $(srctree)/scripts/syscall_common.tbl > +abis := common,__clone3 > > quiet_cmd_syshdr = SYSHDR $@ > - cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --emit-nr $< $@ > + cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --emit-nr \ > + --common-tbl $(systbl_common) --common-offset 110 \ > + --abis $(abis) $< $@ > > quiet_cmd_systbl = SYSTBL $@ > - cmd_systbl = $(CONFIG_SHELL) $(systbl) $< $@ > + cmd_systbl = $(CONFIG_SHELL) $(systbl) \ > + --common-tbl $(systbl_common) --common-offset 110 \ > + --abis $(abis) $< $@ > > -$(uapi)/unistd_32.h: $(syscall) $(syshdr) FORCE > +$(uapi)/unistd_32.h: $(syscall) $(systbl_common) $(syshdr) FORCE > $(call if_changed,syshdr) > > -$(kapi)/syscall_table.h: $(syscall) $(systbl) FORCE > +$(kapi)/syscall_table.h: $(syscall) $(systbl_common) $(systbl) FORCE > $(call if_changed,systbl) > > uapisyshdr-y += unistd_32.h > diff --git a/arch/alpha/kernel/syscalls/syscall.tbl b/arch/alpha/kernel/syscalls/syscall.tbl > index a41276634923..7066a3920899 100644 > --- a/arch/alpha/kernel/syscalls/syscall.tbl > +++ b/arch/alpha/kernel/syscalls/syscall.tbl > @@ -463,52 +463,3 @@ > 532 common getppid sys_getppid > # all other architectures have common numbers for new syscall, alpha > # is the exception. > -534 common pidfd_send_signal sys_pidfd_send_signal > -535 common io_uring_setup sys_io_uring_setup > -536 common io_uring_enter sys_io_uring_enter > -537 common io_uring_register sys_io_uring_register > -538 common open_tree sys_open_tree > -539 common move_mount sys_move_mount > -540 common fsopen sys_fsopen > -541 common fsconfig sys_fsconfig > -542 common fsmount sys_fsmount > -543 common fspick sys_fspick > -544 common pidfd_open sys_pidfd_open > -545 common clone3 __clone3 > -546 common close_range sys_close_range > -547 common openat2 sys_openat2 > -548 common pidfd_getfd sys_pidfd_getfd > -549 common faccessat2 sys_faccessat2 > -550 common process_madvise sys_process_madvise > -551 common epoll_pwait2 sys_epoll_pwait2 > -552 common mount_setattr sys_mount_setattr > -553 common quotactl_fd sys_quotactl_fd > -554 common landlock_create_ruleset sys_landlock_create_ruleset > -555 common landlock_add_rule sys_landlock_add_rule > -556 common landlock_restrict_self sys_landlock_restrict_self > -# 557 reserved for memfd_secret > -558 common process_mrelease sys_process_mrelease > -559 common futex_waitv sys_futex_waitv > -560 common set_mempolicy_home_node sys_set_mempolicy_home_node > -561 common cachestat sys_cachestat > -562 common fchmodat2 sys_fchmodat2 > -563 common map_shadow_stack sys_map_shadow_stack > -564 common futex_wake sys_futex_wake > -565 common futex_wait sys_futex_wait > -566 common futex_requeue sys_futex_requeue > -567 common statmount sys_statmount > -568 common listmount sys_listmount > -569 common lsm_get_self_attr sys_lsm_get_self_attr > -570 common lsm_set_self_attr sys_lsm_set_self_attr > -571 common lsm_list_modules sys_lsm_list_modules > -572 common mseal sys_mseal > -573 common setxattrat sys_setxattrat > -574 common getxattrat sys_getxattrat > -575 common listxattrat sys_listxattrat > -576 common removexattrat sys_removexattrat > -577 common open_tree_attr sys_open_tree_attr > -578 common file_getattr sys_file_getattr > -579 common file_setattr sys_file_setattr > -580 common listns sys_listns > -581 common rseq_slice_yield sys_rseq_slice_yield > -582 common fchroot sys_fchroot > diff --git a/arch/alpha/kernel/systbls.S b/arch/alpha/kernel/systbls.S > index 68f3e4f329eb..9a67d29f7818 100644 > --- a/arch/alpha/kernel/systbls.S > +++ b/arch/alpha/kernel/systbls.S > @@ -7,6 +7,7 @@ > > #include <asm/unistd.h> > > +#define __SYSCALL_WITH_COMPAT(nr, native, compat) __SYSCALL(nr, native) > #define __SYSCALL(nr, entry) .quad entry > .data > .align 3 > > -- > 2.55.0 > > I tested the full series on my Alpha for-next branch, which also contains the Alpha GENERIC_ENTRY enablement. With patch 13 applied the kernel builds and links successfully and boots normally on my UP2000+. The issue I mentioned on patch 12 is hidden by this patch, since the common table correctly selects __sys_clone3 for the __clone3 ABI. Other than that issue in patch 12, I haven't found any Alpha-specific problems with the conversion. Tested-by: Magnus Lindholm <[email protected]>