[PATCH 2/6] powerpc: Provide syscall wrapper
kernel test robot
lkp at intel.com
Wed Jun 1 19:35:19 AEST 2022
Hi Rohan,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on v5.18]
[also build test ERROR on next-20220601]
[cannot apply to powerpc/next scottwood/next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/intel-lab-lkp/linux/commits/Rohan-McLure/powerpc-Add-ZERO_GPRS-macros-for-register-clears/20220601-135400
base: 4b0986a3613c92f4ec1bdc7f60ec66fea135991f
config: powerpc-allnoconfig (https://download.01.org/0day-ci/archive/20220601/202206011740.FugDNwNm-lkp@intel.com/config)
compiler: powerpc-linux-gcc (GCC) 11.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/intel-lab-lkp/linux/commit/c3efdfac99806b0d7ef4ee781283404448addc69
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Rohan-McLure/powerpc-Add-ZERO_GPRS-macros-for-register-clears/20220601-135400
git checkout c3efdfac99806b0d7ef4ee781283404448addc69
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=powerpc SHELL=/bin/bash arch/powerpc/kernel/ fs/ kernel/ mm/
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp at intel.com>
All error/warnings (new ones prefixed by >>):
In file included from include/linux/syscalls.h:98,
from arch/powerpc/kernel/syscalls.c:19:
>> arch/powerpc/include/asm/syscall_wrapper.h:78:14: error: no previous prototype for 'sys_switch_endian' [-Werror=missing-prototypes]
78 | long sys_##sname(void) \
| ^~~~
arch/powerpc/kernel/syscalls.c:114:1: note: in expansion of macro 'SYSCALL_DEFINE0'
114 | SYSCALL_DEFINE0(switch_endian)
| ^~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
--
kernel/fork.c:163:13: warning: no previous prototype for 'arch_release_task_struct' [-Wmissing-prototypes]
163 | void __weak arch_release_task_struct(struct task_struct *tsk)
| ^~~~~~~~~~~~~~~~~~~~~~~~
kernel/fork.c:854:20: warning: no previous prototype for 'arch_task_cache_init' [-Wmissing-prototypes]
854 | void __init __weak arch_task_cache_init(void) { }
| ^~~~~~~~~~~~~~~~~~~~
In file included from include/linux/syscalls.h:98,
from kernel/fork.c:55:
>> arch/powerpc/include/asm/syscall_wrapper.h:78:14: warning: no previous prototype for 'sys_fork' [-Wmissing-prototypes]
78 | long sys_##sname(void) \
| ^~~~
kernel/fork.c:2695:1: note: in expansion of macro 'SYSCALL_DEFINE0'
2695 | SYSCALL_DEFINE0(fork)
| ^~~~~~~~~~~~~~~
>> arch/powerpc/include/asm/syscall_wrapper.h:78:14: warning: no previous prototype for 'sys_vfork' [-Wmissing-prototypes]
78 | long sys_##sname(void) \
| ^~~~
kernel/fork.c:2711:1: note: in expansion of macro 'SYSCALL_DEFINE0'
2711 | SYSCALL_DEFINE0(vfork)
| ^~~~~~~~~~~~~~~
--
In file included from include/linux/syscalls.h:98,
from kernel/signal.c:30:
>> arch/powerpc/include/asm/syscall_wrapper.h:78:14: warning: no previous prototype for 'sys_restart_syscall' [-Wmissing-prototypes]
78 | long sys_##sname(void) \
| ^~~~
kernel/signal.c:3004:1: note: in expansion of macro 'SYSCALL_DEFINE0'
3004 | SYSCALL_DEFINE0(restart_syscall)
| ^~~~~~~~~~~~~~~
>> arch/powerpc/include/asm/syscall_wrapper.h:78:14: warning: no previous prototype for 'sys_sgetmask' [-Wmissing-prototypes]
78 | long sys_##sname(void) \
| ^~~~
kernel/signal.c:4568:1: note: in expansion of macro 'SYSCALL_DEFINE0'
4568 | SYSCALL_DEFINE0(sgetmask)
| ^~~~~~~~~~~~~~~
>> arch/powerpc/include/asm/syscall_wrapper.h:78:14: warning: no previous prototype for 'sys_pause' [-Wmissing-prototypes]
78 | long sys_##sname(void) \
| ^~~~
kernel/signal.c:4607:1: note: in expansion of macro 'SYSCALL_DEFINE0'
4607 | SYSCALL_DEFINE0(pause)
| ^~~~~~~~~~~~~~~
--
In file included from include/linux/compat.h:34,
from kernel/sys.c:47:
>> arch/powerpc/include/asm/syscall_wrapper.h:78:14: warning: no previous prototype for 'sys_getpid' [-Wmissing-prototypes]
78 | long sys_##sname(void) \
| ^~~~
kernel/sys.c:933:1: note: in expansion of macro 'SYSCALL_DEFINE0'
933 | SYSCALL_DEFINE0(getpid)
| ^~~~~~~~~~~~~~~
>> arch/powerpc/include/asm/syscall_wrapper.h:78:14: warning: no previous prototype for 'sys_gettid' [-Wmissing-prototypes]
78 | long sys_##sname(void) \
| ^~~~
kernel/sys.c:939:1: note: in expansion of macro 'SYSCALL_DEFINE0'
939 | SYSCALL_DEFINE0(gettid)
| ^~~~~~~~~~~~~~~
>> arch/powerpc/include/asm/syscall_wrapper.h:78:14: warning: no previous prototype for 'sys_getppid' [-Wmissing-prototypes]
78 | long sys_##sname(void) \
| ^~~~
kernel/sys.c:950:1: note: in expansion of macro 'SYSCALL_DEFINE0'
950 | SYSCALL_DEFINE0(getppid)
| ^~~~~~~~~~~~~~~
>> arch/powerpc/include/asm/syscall_wrapper.h:78:14: warning: no previous prototype for 'sys_getuid' [-Wmissing-prototypes]
78 | long sys_##sname(void) \
| ^~~~
kernel/sys.c:961:1: note: in expansion of macro 'SYSCALL_DEFINE0'
961 | SYSCALL_DEFINE0(getuid)
| ^~~~~~~~~~~~~~~
>> arch/powerpc/include/asm/syscall_wrapper.h:78:14: warning: no previous prototype for 'sys_geteuid' [-Wmissing-prototypes]
78 | long sys_##sname(void) \
| ^~~~
kernel/sys.c:967:1: note: in expansion of macro 'SYSCALL_DEFINE0'
967 | SYSCALL_DEFINE0(geteuid)
| ^~~~~~~~~~~~~~~
>> arch/powerpc/include/asm/syscall_wrapper.h:78:14: warning: no previous prototype for 'sys_getgid' [-Wmissing-prototypes]
78 | long sys_##sname(void) \
| ^~~~
kernel/sys.c:973:1: note: in expansion of macro 'SYSCALL_DEFINE0'
973 | SYSCALL_DEFINE0(getgid)
| ^~~~~~~~~~~~~~~
>> arch/powerpc/include/asm/syscall_wrapper.h:78:14: warning: no previous prototype for 'sys_getegid' [-Wmissing-prototypes]
78 | long sys_##sname(void) \
| ^~~~
kernel/sys.c:979:1: note: in expansion of macro 'SYSCALL_DEFINE0'
979 | SYSCALL_DEFINE0(getegid)
| ^~~~~~~~~~~~~~~
>> arch/powerpc/include/asm/syscall_wrapper.h:78:14: warning: no previous prototype for 'sys_getpgrp' [-Wmissing-prototypes]
78 | long sys_##sname(void) \
| ^~~~
kernel/sys.c:1154:1: note: in expansion of macro 'SYSCALL_DEFINE0'
1154 | SYSCALL_DEFINE0(getpgrp)
| ^~~~~~~~~~~~~~~
>> arch/powerpc/include/asm/syscall_wrapper.h:78:14: warning: no previous prototype for 'sys_setsid' [-Wmissing-prototypes]
78 | long sys_##sname(void) \
| ^~~~
kernel/sys.c:1233:1: note: in expansion of macro 'SYSCALL_DEFINE0'
1233 | SYSCALL_DEFINE0(setsid)
| ^~~~~~~~~~~~~~~
--
In file included from include/linux/syscalls.h:98,
from mm/mlock.c:19:
>> arch/powerpc/include/asm/syscall_wrapper.h:78:14: warning: no previous prototype for 'sys_munlockall' [-Wmissing-prototypes]
78 | long sys_##sname(void) \
| ^~~~
mm/mlock.c:725:1: note: in expansion of macro 'SYSCALL_DEFINE0'
725 | SYSCALL_DEFINE0(munlockall)
| ^~~~~~~~~~~~~~~
--
In file included from include/linux/syscalls.h:98,
from fs/open.c:27:
>> arch/powerpc/include/asm/syscall_wrapper.h:78:14: warning: no previous prototype for 'sys_vhangup' [-Wmissing-prototypes]
78 | long sys_##sname(void) \
| ^~~~
fs/open.c:1375:1: note: in expansion of macro 'SYSCALL_DEFINE0'
1375 | SYSCALL_DEFINE0(vhangup)
| ^~~~~~~~~~~~~~~
--
In file included from include/linux/syscalls.h:98,
from fs/sync.c:15:
>> arch/powerpc/include/asm/syscall_wrapper.h:78:14: warning: no previous prototype for 'sys_sync' [-Wmissing-prototypes]
78 | long sys_##sname(void) \
| ^~~~
fs/sync.c:111:1: note: in expansion of macro 'SYSCALL_DEFINE0'
111 | SYSCALL_DEFINE0(sync)
| ^~~~~~~~~~~~~~~
--
kernel/sched/core.c:5235:20: warning: no previous prototype for 'task_sched_runtime' [-Wmissing-prototypes]
5235 | unsigned long long task_sched_runtime(struct task_struct *p)
| ^~~~~~~~~~~~~~~~~~
In file included from include/linux/syscalls.h:98,
from include/linux/syscalls_api.h:1,
from kernel/sched/core.c:13:
>> arch/powerpc/include/asm/syscall_wrapper.h:78:14: warning: no previous prototype for 'sys_sched_yield' [-Wmissing-prototypes]
78 | long sys_##sname(void) \
| ^~~~
kernel/sched/core.c:8150:1: note: in expansion of macro 'SYSCALL_DEFINE0'
8150 | SYSCALL_DEFINE0(sched_yield)
| ^~~~~~~~~~~~~~~
kernel/sched/core.c:9426:13: warning: no previous prototype for 'sched_init_smp' [-Wmissing-prototypes]
9426 | void __init sched_init_smp(void)
| ^~~~~~~~~~~~~~
kernel/sched/core.c:9454:13: warning: no previous prototype for 'sched_init' [-Wmissing-prototypes]
9454 | void __init sched_init(void)
| ^~~~~~~~~~
vim +/sys_switch_endian +78 arch/powerpc/include/asm/syscall_wrapper.h
49
50 #define __SYSCALL_DEFINEx(x, name, ...) \
51 asmlinkage long __powerpc_sys##name(const struct pt_regs *regs); \
52 ALLOW_ERROR_INJECTION(__powerpc_sys##name, ERRNO); \
53 long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)); \
54 static long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \
55 static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)); \
56 asmlinkage long __powerpc_sys##name(const struct pt_regs *regs) \
57 { \
58 return __se_sys##name(SC_POWERPC_REGS_TO_ARGS(x,__VA_ARGS__)); \
59 } \
60 long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
61 { \
62 return __do_sys##name(__MAP(x,__SC_CAST,__VA_ARGS__)); \
63 } \
64 static long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
65 { \
66 long ret = __do_sys##name(__MAP(x,__SC_CAST,__VA_ARGS__)); \
67 __MAP(x,__SC_TEST,__VA_ARGS__); \
68 __PROTECT(x, ret,__MAP(x,__SC_ARGS,__VA_ARGS__)); \
69 return ret; \
70 } \
71 static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))
72
73 #define SYSCALL_DEFINE0(sname) \
74 SYSCALL_METADATA(_##sname, 0); \
75 long sys_##name(void); \
76 asmlinkage long __powerpc_sys_##sname(const struct pt_regs *__unused); \
77 ALLOW_ERROR_INJECTION(__powerpc_sys_##sname, ERRNO); \
> 78 long sys_##sname(void) \
79 { \
80 return __powerpc_sys_##sname(NULL); \
81 } \
82 asmlinkage long __powerpc_sys_##sname(const struct pt_regs *__unused)
83
--
0-DAY CI Kernel Test Service
https://01.org/lkp
More information about the Linuxppc-dev
mailing list