arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x32_compat_sys_io_setup'
From: kernel test robot
Date: Sat Mar 27 2021 - 08:12:24 EST
Hi Brian,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 0f4498cef9f5cd18d7c6639a2a902ec1edc5be4e
commit: 6cc8d2b286d9e7168d72e342d1b031317cd7752b x86/entry: Refactor COND_SYSCALL macros
date: 1 year ago
config: x86_64-randconfig-r004-20210327 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6cc8d2b286d9e7168d72e342d1b031317cd7752b
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 6cc8d2b286d9e7168d72e342d1b031317cd7752b
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>
All warnings (new ones prefixed by >>):
In file included from kernel/sys_ni.c:10:
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_io_setup' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __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:40:2: warning: no previous prototype for '__x32_compat_sys_io_setup' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:118:2: note: in expansion of macro '__COND_SYSCALL'
118 | __COND_SYSCALL(x32, compat_sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:158:2: note: in expansion of macro '__X32_COMPAT_COND_SYSCALL'
158 | __X32_COMPAT_COND_SYSCALL(name)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:40:1: note: in expansion of macro 'COND_SYSCALL_COMPAT'
40 | COND_SYSCALL_COMPAT(io_setup);
| ^~~~~~~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_io_destroy' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:41:1: note: in expansion of macro 'COND_SYSCALL'
41 | COND_SYSCALL(io_destroy);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_io_submit' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:42:1: note: in expansion of macro 'COND_SYSCALL'
42 | COND_SYSCALL(io_submit);
| ^~~~~~~~~~~~
>> arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x32_compat_sys_io_submit' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:118:2: note: in expansion of macro '__COND_SYSCALL'
118 | __COND_SYSCALL(x32, compat_sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:158:2: note: in expansion of macro '__X32_COMPAT_COND_SYSCALL'
158 | __X32_COMPAT_COND_SYSCALL(name)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:43:1: note: in expansion of macro 'COND_SYSCALL_COMPAT'
43 | COND_SYSCALL_COMPAT(io_submit);
| ^~~~~~~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_io_cancel' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:44:1: note: in expansion of macro 'COND_SYSCALL'
44 | COND_SYSCALL(io_cancel);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_io_getevents_time32' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:45:1: note: in expansion of macro 'COND_SYSCALL'
45 | COND_SYSCALL(io_getevents_time32);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_io_getevents' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:46:1: note: in expansion of macro 'COND_SYSCALL'
46 | COND_SYSCALL(io_getevents);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_io_pgetevents_time32' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:47:1: note: in expansion of macro 'COND_SYSCALL'
47 | COND_SYSCALL(io_pgetevents_time32);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_io_pgetevents' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:48:1: note: in expansion of macro 'COND_SYSCALL'
48 | COND_SYSCALL(io_pgetevents);
| ^~~~~~~~~~~~
>> arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x32_compat_sys_io_pgetevents_time32' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:118:2: note: in expansion of macro '__COND_SYSCALL'
118 | __COND_SYSCALL(x32, compat_sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:158:2: note: in expansion of macro '__X32_COMPAT_COND_SYSCALL'
158 | __X32_COMPAT_COND_SYSCALL(name)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:49:1: note: in expansion of macro 'COND_SYSCALL_COMPAT'
49 | COND_SYSCALL_COMPAT(io_pgetevents_time32);
| ^~~~~~~~~~~~~~~~~~~
>> arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x32_compat_sys_io_pgetevents' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:118:2: note: in expansion of macro '__COND_SYSCALL'
118 | __COND_SYSCALL(x32, compat_sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:158:2: note: in expansion of macro '__X32_COMPAT_COND_SYSCALL'
158 | __X32_COMPAT_COND_SYSCALL(name)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:50:1: note: in expansion of macro 'COND_SYSCALL_COMPAT'
50 | COND_SYSCALL_COMPAT(io_pgetevents);
| ^~~~~~~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_io_uring_setup' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:51:1: note: in expansion of macro 'COND_SYSCALL'
51 | COND_SYSCALL(io_uring_setup);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_io_uring_enter' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:52:1: note: in expansion of macro 'COND_SYSCALL'
52 | COND_SYSCALL(io_uring_enter);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_io_uring_register' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:53:1: note: in expansion of macro 'COND_SYSCALL'
53 | COND_SYSCALL(io_uring_register);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_lookup_dcookie' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:60:1: note: in expansion of macro 'COND_SYSCALL'
60 | COND_SYSCALL(lookup_dcookie);
| ^~~~~~~~~~~~
>> arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x32_compat_sys_lookup_dcookie' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:118:2: note: in expansion of macro '__COND_SYSCALL'
118 | __COND_SYSCALL(x32, compat_sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:158:2: note: in expansion of macro '__X32_COMPAT_COND_SYSCALL'
158 | __X32_COMPAT_COND_SYSCALL(name)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:61:1: note: in expansion of macro 'COND_SYSCALL_COMPAT'
61 | COND_SYSCALL_COMPAT(lookup_dcookie);
| ^~~~~~~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_eventfd2' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:64:1: note: in expansion of macro 'COND_SYSCALL'
64 | COND_SYSCALL(eventfd2);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_epoll_create1' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:67:1: note: in expansion of macro 'COND_SYSCALL'
67 | COND_SYSCALL(epoll_create1);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_epoll_ctl' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:68:1: note: in expansion of macro 'COND_SYSCALL'
68 | COND_SYSCALL(epoll_ctl);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_epoll_pwait' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:69:1: note: in expansion of macro 'COND_SYSCALL'
69 | COND_SYSCALL(epoll_pwait);
| ^~~~~~~~~~~~
>> arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x32_compat_sys_epoll_pwait' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:118:2: note: in expansion of macro '__COND_SYSCALL'
118 | __COND_SYSCALL(x32, compat_sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:158:2: note: in expansion of macro '__X32_COMPAT_COND_SYSCALL'
158 | __X32_COMPAT_COND_SYSCALL(name)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:70:1: note: in expansion of macro 'COND_SYSCALL_COMPAT'
70 | COND_SYSCALL_COMPAT(epoll_pwait);
| ^~~~~~~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_inotify_init1' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:75:1: note: in expansion of macro 'COND_SYSCALL'
75 | COND_SYSCALL(inotify_init1);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_inotify_add_watch' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:76:1: note: in expansion of macro 'COND_SYSCALL'
76 | COND_SYSCALL(inotify_add_watch);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_inotify_rm_watch' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:77:1: note: in expansion of macro 'COND_SYSCALL'
77 | COND_SYSCALL(inotify_rm_watch);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_ioprio_set' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:82:1: note: in expansion of macro 'COND_SYSCALL'
82 | COND_SYSCALL(ioprio_set);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_ioprio_get' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:83:1: note: in expansion of macro 'COND_SYSCALL'
83 | COND_SYSCALL(ioprio_get);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_flock' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:86:1: note: in expansion of macro 'COND_SYSCALL'
86 | COND_SYSCALL(flock);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_quotactl' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:99:1: note: in expansion of macro 'COND_SYSCALL'
99 | COND_SYSCALL(quotactl);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_signalfd4' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:110:1: note: in expansion of macro 'COND_SYSCALL'
110 | COND_SYSCALL(signalfd4);
| ^~~~~~~~~~~~
>> arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x32_compat_sys_signalfd4' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:118:2: note: in expansion of macro '__COND_SYSCALL'
118 | __COND_SYSCALL(x32, compat_sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:158:2: note: in expansion of macro '__X32_COMPAT_COND_SYSCALL'
158 | __X32_COMPAT_COND_SYSCALL(name)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:111:1: note: in expansion of macro 'COND_SYSCALL_COMPAT'
111 | COND_SYSCALL_COMPAT(signalfd4);
| ^~~~~~~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_timerfd_create' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:120:1: note: in expansion of macro 'COND_SYSCALL'
120 | COND_SYSCALL(timerfd_create);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_timerfd_settime' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:121:1: note: in expansion of macro 'COND_SYSCALL'
121 | COND_SYSCALL(timerfd_settime);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_timerfd_settime32' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:122:1: note: in expansion of macro 'COND_SYSCALL'
122 | COND_SYSCALL(timerfd_settime32);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_timerfd_gettime' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:123:1: note: in expansion of macro 'COND_SYSCALL'
123 | COND_SYSCALL(timerfd_gettime);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_timerfd_gettime32' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:124:1: note: in expansion of macro 'COND_SYSCALL'
124 | COND_SYSCALL(timerfd_gettime32);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_acct' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:129:1: note: in expansion of macro 'COND_SYSCALL'
129 | COND_SYSCALL(acct);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_capget' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:132:1: note: in expansion of macro 'COND_SYSCALL'
132 | COND_SYSCALL(capget);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_capset' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:133:1: note: in expansion of macro 'COND_SYSCALL'
133 | COND_SYSCALL(capset);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_clone3' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:141:1: note: in expansion of macro 'COND_SYSCALL'
141 | COND_SYSCALL(clone3);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_futex' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:144:1: note: in expansion of macro 'COND_SYSCALL'
144 | COND_SYSCALL(futex);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_futex_time32' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:145:1: note: in expansion of macro 'COND_SYSCALL'
145 | COND_SYSCALL(futex_time32);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_set_robust_list' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:146:1: note: in expansion of macro 'COND_SYSCALL'
146 | COND_SYSCALL(set_robust_list);
| ^~~~~~~~~~~~
>> arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x32_compat_sys_set_robust_list' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:118:2: note: in expansion of macro '__COND_SYSCALL'
118 | __COND_SYSCALL(x32, compat_sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:158:2: note: in expansion of macro '__X32_COMPAT_COND_SYSCALL'
158 | __X32_COMPAT_COND_SYSCALL(name)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:147:1: note: in expansion of macro 'COND_SYSCALL_COMPAT'
147 | COND_SYSCALL_COMPAT(set_robust_list);
| ^~~~~~~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_get_robust_list' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:148:1: note: in expansion of macro 'COND_SYSCALL'
148 | COND_SYSCALL(get_robust_list);
| ^~~~~~~~~~~~
>> arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x32_compat_sys_get_robust_list' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:118:2: note: in expansion of macro '__COND_SYSCALL'
118 | __COND_SYSCALL(x32, compat_sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:158:2: note: in expansion of macro '__X32_COMPAT_COND_SYSCALL'
158 | __X32_COMPAT_COND_SYSCALL(name)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:149:1: note: in expansion of macro 'COND_SYSCALL_COMPAT'
149 | COND_SYSCALL_COMPAT(get_robust_list);
| ^~~~~~~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_kexec_load' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:156:1: note: in expansion of macro 'COND_SYSCALL'
156 | COND_SYSCALL(kexec_load);
| ^~~~~~~~~~~~
>> arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x32_compat_sys_kexec_load' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:118:2: note: in expansion of macro '__COND_SYSCALL'
118 | __COND_SYSCALL(x32, compat_sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:158:2: note: in expansion of macro '__X32_COMPAT_COND_SYSCALL'
158 | __X32_COMPAT_COND_SYSCALL(name)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:157:1: note: in expansion of macro 'COND_SYSCALL_COMPAT'
157 | COND_SYSCALL_COMPAT(kexec_load);
| ^~~~~~~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_init_module' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:160:1: note: in expansion of macro 'COND_SYSCALL'
160 | COND_SYSCALL(init_module);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_delete_module' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:161:1: note: in expansion of macro 'COND_SYSCALL'
161 | COND_SYSCALL(delete_module);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_syslog' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:166:1: note: in expansion of macro 'COND_SYSCALL'
166 | COND_SYSCALL(syslog);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_setregid' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:173:1: note: in expansion of macro 'COND_SYSCALL'
173 | COND_SYSCALL(setregid);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_setgid' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:174:1: note: in expansion of macro 'COND_SYSCALL'
174 | COND_SYSCALL(setgid);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_setreuid' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:175:1: note: in expansion of macro 'COND_SYSCALL'
175 | COND_SYSCALL(setreuid);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_setuid' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
| ^~~~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:231:2: note: in expansion of macro '__X64_COND_SYSCALL'
231 | __X64_COND_SYSCALL(name) \
| ^~~~~~~~~~~~~~~~~~
kernel/sys_ni.c:176:1: note: in expansion of macro 'COND_SYSCALL'
176 | COND_SYSCALL(setuid);
| ^~~~~~~~~~~~
arch/x86/include/asm/syscall_wrapper.h:40:2: warning: no previous prototype for '__x64_sys_setresuid' [-Wmissing-prototypes]
40 | __##abi##_##name(const struct pt_regs *__unused) \
| ^~
arch/x86/include/asm/syscall_wrapper.h:54:2: note: in expansion of macro '__COND_SYSCALL'
54 | __COND_SYSCALL(x64, sys_##name)
..
vim +/__x32_compat_sys_io_setup +40 arch/x86/include/asm/syscall_wrapper.h
10
11 /* Mapping of registers to parameters for syscalls on x86-64 and x32 */
12 #define SC_X86_64_REGS_TO_ARGS(x, ...) \
13 __MAP(x,__SC_ARGS \
14 ,,regs->di,,regs->si,,regs->dx \
15 ,,regs->r10,,regs->r8,,regs->r9) \
16
17 /* Mapping of registers to parameters for syscalls on i386 */
18 #define SC_IA32_REGS_TO_ARGS(x, ...) \
19 __MAP(x,__SC_ARGS \
20 ,,(unsigned int)regs->bx,,(unsigned int)regs->cx \
21 ,,(unsigned int)regs->dx,,(unsigned int)regs->si \
22 ,,(unsigned int)regs->di,,(unsigned int)regs->bp)
23
24 #define __SYS_STUB0(abi, name) \
25 asmlinkage long __##abi##_##name(const struct pt_regs *regs); \
26 ALLOW_ERROR_INJECTION(__##abi##_##name, ERRNO); \
27 asmlinkage long __##abi##_##name(const struct pt_regs *regs) \
28 __alias(__do_##name);
29
30 #define __SYS_STUBx(abi, name, ...) \
31 asmlinkage long __##abi##_##name(const struct pt_regs *regs); \
32 ALLOW_ERROR_INJECTION(__##abi##_##name, ERRNO); \
33 asmlinkage long __##abi##_##name(const struct pt_regs *regs) \
34 { \
35 return __se_##name(__VA_ARGS__); \
36 }
37
38 #define __COND_SYSCALL(abi, name) \
39 asmlinkage __weak long \
> 40 __##abi##_##name(const struct pt_regs *__unused) \
41 { \
42 return sys_ni_syscall(); \
43 }
44
45 #ifdef CONFIG_X86_64
46 #define __X64_SYS_STUB0(name) \
47 __SYS_STUB0(x64, sys_##name)
48
49 #define __X64_SYS_STUBx(x, name, ...) \
50 __SYS_STUBx(x64, sys##name, \
51 SC_X86_64_REGS_TO_ARGS(x, __VA_ARGS__))
52
53 #define __X64_COND_SYSCALL(name) \
> 54 __COND_SYSCALL(x64, sys_##name)
55 #else /* CONFIG_X86_64 */
56 #define __X64_SYS_STUB0(name)
57 #define __X64_SYS_STUBx(x, name, ...)
58 #define __X64_COND_SYSCALL(name)
59 #endif /* CONFIG_X86_64 */
60
61 #ifdef CONFIG_IA32_EMULATION
62 /*
63 * For IA32 emulation, we need to handle "compat" syscalls *and* create
64 * additional wrappers (aptly named __ia32_sys_xyzzy) which decode the
65 * ia32 regs in the proper order for shared or "common" syscalls. As some
66 * syscalls may not be implemented, we need to expand COND_SYSCALL in
67 * kernel/sys_ni.c and SYS_NI in kernel/time/posix-stubs.c to cover this
68 * case as well.
69 */
70 #define __IA32_COMPAT_SYS_STUB0(name) \
71 __SYS_STUB0(ia32, compat_sys_##name)
72
73 #define __IA32_COMPAT_SYS_STUBx(x, name, ...) \
74 __SYS_STUBx(ia32, compat_sys##name, \
75 SC_IA32_REGS_TO_ARGS(x, __VA_ARGS__))
76
77 #define __IA32_COMPAT_COND_SYSCALL(name) \
78 __COND_SYSCALL(ia32, compat_sys_##name)
79
80 #define __IA32_SYS_STUB0(name) \
81 __SYS_STUB0(ia32, sys_##name)
82
83 #define __IA32_SYS_STUBx(x, name, ...) \
84 __SYS_STUBx(ia32, sys##name, \
85 SC_IA32_REGS_TO_ARGS(x, __VA_ARGS__))
86
87 #define __IA32_COND_SYSCALL(name) \
88 __COND_SYSCALL(ia32, sys_##name)
89
90 #define SYS_NI(name) \
91 SYSCALL_ALIAS(__x64_sys_##name, sys_ni_posix_timers); \
92 SYSCALL_ALIAS(__ia32_sys_##name, sys_ni_posix_timers)
93
94 #else /* CONFIG_IA32_EMULATION */
95 #define __IA32_COMPAT_SYS_STUB0(name)
96 #define __IA32_COMPAT_SYS_STUBx(x, name, ...)
97 #define __IA32_COMPAT_COND_SYSCALL(name)
98 #define __IA32_SYS_STUB0(name)
99 #define __IA32_SYS_STUBx(x, name, ...)
100 #define __IA32_COND_SYSCALL(name)
101 #endif /* CONFIG_IA32_EMULATION */
102
103
104 #ifdef CONFIG_X86_X32
105 /*
106 * For the x32 ABI, we need to create a stub for compat_sys_*() which is aware
107 * of the x86-64-style parameter ordering of x32 syscalls. The syscalls common
108 * with x86_64 obviously do not need such care.
109 */
110 #define __X32_COMPAT_SYS_STUB0(name) \
111 __SYS_STUB0(x32, compat_sys_##name)
112
113 #define __X32_COMPAT_SYS_STUBx(x, name, ...) \
114 __SYS_STUBx(x32, compat_sys##name, \
115 SC_X86_64_REGS_TO_ARGS(x, __VA_ARGS__))
116
117 #define __X32_COMPAT_COND_SYSCALL(name) \
> 118 __COND_SYSCALL(x32, compat_sys_##name)
119 #else /* CONFIG_X86_X32 */
120 #define __X32_COMPAT_SYS_STUB0(name)
121 #define __X32_COMPAT_SYS_STUBx(x, name, ...)
122 #define __X32_COMPAT_COND_SYSCALL(name)
123 #endif /* CONFIG_X86_X32 */
124
125
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip