Re: [patch 15/18] x86/entry: Make syscall functions static
Mukesh Kumar Chaurasiya <[email protected]> Fri, 10 Jul 2026 01:13:15 +0530
| Newsgroups | org.kernel.vger.linux-alpha,dev.linux.lists.loongarch,org.infradead.lists.linux-riscv,org.infradead.lists.linux-snps-arc,org.infradead.lists.linux-um,org.kernel.vger.linux-arch,org.kernel.vger.linux-csky,org.kernel.vger.linux-doc,org.kernel.vger.linux-hexagon,org.kernel.vger.linux-kernel,org.kernel.vger.linux-m68k,org.kernel.vger.linux-mips,org.kernel.vger.linux-openrisc,org.kernel.vger.linux-parisc,org.kernel.vger.linux-s390,org.kernel.vger.linux-sh,org.kernel.vger.sparclinux,org.ozlabs.lists.linuxppc-dev |
|---|---|
| Message-ID | <[email protected]> |
On Tue, Jul 07, 2026 at 09:06:57PM +0200, Thomas Gleixner wrote: > They are only used in the respective source files. No point in exposing > them. > > Signed-off-by: Thomas Gleixner <[email protected]> > --- > arch/x86/entry/syscall_32.c | 2 +- > arch/x86/entry/syscall_64.c | 10 ++++++---- > arch/x86/include/asm/syscall.h | 8 -------- > 3 files changed, 7 insertions(+), 13 deletions(-) > > --- a/arch/x86/entry/syscall_32.c > +++ b/arch/x86/entry/syscall_32.c > @@ -41,7 +41,7 @@ const sys_call_ptr_t sys_call_table[] = > #endif > > #define __SYSCALL(nr, sym) case nr: return __ia32_##sym(regs); > -long ia32_sys_call(const struct pt_regs *regs, unsigned int nr) > +static noinline long ia32_sys_call(const struct pt_regs *regs, unsigned int nr) > { > switch (nr) { > #include <asm/syscalls_32.h> > --- a/arch/x86/entry/syscall_64.c > +++ b/arch/x86/entry/syscall_64.c > @@ -32,7 +32,7 @@ const sys_call_ptr_t sys_call_table[] = > #undef __SYSCALL > > #define __SYSCALL(nr, sym) case nr: return __x64_##sym(regs); > -long x64_sys_call(const struct pt_regs *regs, unsigned int nr) > +static noinline long x64_sys_call(const struct pt_regs *regs, unsigned int nr) > { > switch (nr) { > #include <asm/syscalls_64.h> > @@ -40,15 +40,17 @@ long x64_sys_call(const struct pt_regs * > } > } > > -#ifdef CONFIG_X86_X32_ABI > -long x32_sys_call(const struct pt_regs *regs, unsigned int nr) > +static noinline long x32_sys_call(const struct pt_regs *regs, unsigned int nr) > { > +#ifdef CONFIG_X86_X32_ABI > switch (nr) { > #include <asm/syscalls_x32.h> > default: return __x64_sys_ni_syscall(regs); > } > -} > +#else > + return -ENOSYS; > #endif > +} > > static __always_inline bool do_syscall_x64(struct pt_regs *regs, int nr) > { > --- a/arch/x86/include/asm/syscall.h > +++ b/arch/x86/include/asm/syscall.h > @@ -21,14 +21,6 @@ typedef long (*sys_call_ptr_t)(const str > extern const sys_call_ptr_t sys_call_table[]; > > /* > - * These may not exist, but still put the prototypes in so we > - * can use IS_ENABLED(). > - */ > -extern long ia32_sys_call(const struct pt_regs *, unsigned int nr); > -extern long x32_sys_call(const struct pt_regs *, unsigned int nr); > -extern long x64_sys_call(const struct pt_regs *, unsigned int nr); > - > -/* > * Only the low 32 bits of orig_ax are meaningful, so we return int. > * This importantly ignores the high bits on 64-bit, so comparisons > * sign-extend the low 32 bits. > Reviewed-by: Mukesh Kumar Chaurasiya (IBM) <[email protected]>