[PATCH 2/6] powerpc: Provide syscall wrapper

kernel test robot lkp at intel.com
Wed Jun 1 18:59:28 AEST 2022


Hi Rohan,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on v5.18]
[also build test WARNING 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-allyesconfig (https://download.01.org/0day-ci/archive/20220601/202206011624.sRj0DSyf-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/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp at intel.com>

All 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: warning: no previous prototype for 'sys_switch_endian' [-Wmissing-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)
         | ^~~~~~~~~~~~~~~


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