Re: [PATCH RFC v3 0/8] syscalls: Add a shared table for all archs
From: Arnd Bergmann
Date: Mon Aug 10 2026 - 10:23:08 EST
On Mon, Aug 10, 2026, at 15:25, André Almeida wrote:
> Em 07/08/2026 17:43, Arnd Bergmann escreveu:
>> On Fri, Aug 7, 2026, at 21:34, André Almeida wrote:
>>>
>>> There's already a "common" table shared with a bunch of archs at
>>> `scripts/syscall.tbl`, but due to historical reasons some archs will never be
>>> able to move to this table and share all the numbers.
>>>
>>> The generic table starts from 403 (clock_gettime64), the first common syscall.
>>>
>>> I've compile tested for arm32, arm64, s390, mips and sparc, by comparing the
>>> syscalls_*.h and unistd_*.h files generated before and after this patchset. For
>>> most of cases the files are identical, for the few cases that they are not,
>>> there's a note in the commit explaining why they are equivalent.
>>
>> Any reason you still didn't include the alpha version? As I mentioned
>> before, I think this is the most important one to be in the initial
>> set, to ensure the script can deal with the having two separate offsets
>> without becoming too messy, or needing a rewrite to take multiple passes.
>
> One reason that I didn't include alpha on this version yet (but forgot
> to explain in the cover letter) is that alpha is the only arch that
> doesn't implement `set_mempolicy_home_node`, and the commit message that
> creates this syscall doesn't help to explain why. But for now I think I
> can do something similar to `memfd_secret` and add a new ABI or use the
> stub implementation.
No, I think we can just keep the normal table here. There is
already a definition for the syscall macro on alpha, just the
entry point is set to sys_ni_syscall. On alpha, CONFIG_NUMA
is always disabled as of fdb7d9b7acd0 ("alpha: remove DISCONTIGMEM
and NUMA"), so sys_mempolicy_home_node always points to
sys_ni_syscall through the kernel/sys_ni.c redirect.
I would split that change out to a separate commit, but that
patch is clearly only cosmetic here.
We probably want the same thing for memfd_secret() as well, and
always define that for all architectures, with the kernel/sys_ni.c
file taking care of the CONFIG_SECRETMEM=n builds, but that is
not entirely a nop, since it adds a __NR_memfd_seret macro
on architectures that don't already have it.
Arnd