Could you please push this patch to Linus? Thanks. On 04/02/2021 15:16, Mickaël Salaün wrote: > > On 28/01/2021 01:50, Masahiro Yamada wrote: >> Building kernel/sys_ni.c with W=1 omits tons of -Wmissing-prototypes >> warnings. >> >> $ make W=1 kernel/sys_ni.o >> [ snip ] >> CC kernel/sys_ni.o >> In file included from kernel/sys_ni.c:10: >> ./arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous prototype for '__x64_sys_io_setup' [-Wmissing-prototypes] >> 83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \ >> | ^~ >> ./arch/x86/include/asm/syscall_wrapper.h:100:2: note: in expansion of macro '__COND_SYSCALL' >> 100 | __COND_SYSCALL(x64, sys_##name) >> | ^~~~~~~~~~~~~~ >> ./arch/x86/include/asm/syscall_wrapper.h:256:2: note: in expansion of macro '__X64_COND_SYSCALL' >> 256 | __X64_COND_SYSCALL(name) \ >> | ^~~~~~~~~~~~~~~~~~ >> kernel/sys_ni.c:39:1: note: in expansion of macro 'COND_SYSCALL' >> 39 | COND_SYSCALL(io_setup); >> | ^~~~~~~~~~~~ >> ./arch/x86/include/asm/syscall_wrapper.h:83:14: warning: no previous prototype for '__ia32_sys_io_setup' [-Wmissing-prototypes] >> 83 | __weak long __##abi##_##name(const struct pt_regs *__unused) \ >> | ^~ >> ./arch/x86/include/asm/syscall_wrapper.h:120:2: note: in expansion of macro '__COND_SYSCALL' >> 120 | __COND_SYSCALL(ia32, sys_##name) >> | ^~~~~~~~~~~~~~ >> ./arch/x86/include/asm/syscall_wrapper.h:257:2: note: in expansion of macro '__IA32_COND_SYSCALL' >> 257 | __IA32_COND_SYSCALL(name) >> | ^~~~~~~~~~~~~~~~~~~ >> kernel/sys_ni.c:39:1: note: in expansion of macro 'COND_SYSCALL' >> 39 | COND_SYSCALL(io_setup); >> | ^~~~~~~~~~~~ >> ... >> >> __SYS_STUB0() and __SYS_STUBx() defined a few lines above have forward >> declarations. Let's do likewise for __COND_SYSCALL() to fix the >> warnings. >> >> Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx> > > Tested-by: Mickaël Salaün <mic@xxxxxxxxxxxxxxxxxxx> > > Thanks to this patch we avoid multiple emails from Intel's bot when > adding new syscalls. :) > > >> --- >> >> arch/x86/include/asm/syscall_wrapper.h | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/arch/x86/include/asm/syscall_wrapper.h b/arch/x86/include/asm/syscall_wrapper.h >> index a84333adeef2..80c08c7d5e72 100644 >> --- a/arch/x86/include/asm/syscall_wrapper.h >> +++ b/arch/x86/include/asm/syscall_wrapper.h >> @@ -80,6 +80,7 @@ extern long __ia32_sys_ni_syscall(const struct pt_regs *regs); >> } >> >> #define __COND_SYSCALL(abi, name) \ >> + __weak long __##abi##_##name(const struct pt_regs *__unused); \ >> __weak long __##abi##_##name(const struct pt_regs *__unused) \ >> { \ >> return sys_ni_syscall(); \ >>