linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* arch/arm64/include/asm/syscall_wrapper.h:41:25: warning: no previous prototype for '__arm64_compat_sys_epoll_pwait2'
@ 2021-01-14  8:04 kernel test robot
  2021-01-14 16:40 ` Willem de Bruijn
  0 siblings, 1 reply; 2+ messages in thread
From: kernel test robot @ 2021-01-14  8:04 UTC (permalink / raw)
  To: Willem de Bruijn
  Cc: kbuild-all, linux-kernel, Andrew Morton, Linux Memory Management List

[-- Attachment #1: Type: text/plain, Size: 20653 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   65f0d2414b7079556fbbcc070b3d1c9f9587606d
commit: b0a0c2615f6f199a656ed8549d7dce625d77aa77 epoll: wire up syscall epoll_pwait2
date:   4 weeks ago
config: arm64-randconfig-r005-20210113 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.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://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b0a0c2615f6f199a656ed8549d7dce625d77aa77
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout b0a0c2615f6f199a656ed8549d7dce625d77aa77
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

         |                         ^~~~~~~~~~~~
   kernel/sys_ni.c:45:1: note: in expansion of macro 'COND_SYSCALL'
      45 | COND_SYSCALL(io_getevents_time32);
         | ^~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_io_getevents' [-Wmissing-prototypes]
      76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~
   kernel/sys_ni.c:46:1: note: in expansion of macro 'COND_SYSCALL'
      46 | COND_SYSCALL(io_getevents);
         | ^~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_io_pgetevents_time32' [-Wmissing-prototypes]
      76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~
   kernel/sys_ni.c:47:1: note: in expansion of macro 'COND_SYSCALL'
      47 | COND_SYSCALL(io_pgetevents_time32);
         | ^~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_io_pgetevents' [-Wmissing-prototypes]
      76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~
   kernel/sys_ni.c:48:1: note: in expansion of macro 'COND_SYSCALL'
      48 | COND_SYSCALL(io_pgetevents);
         | ^~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:41:25: warning: no previous prototype for '__arm64_compat_sys_io_pgetevents_time32' [-Wmissing-prototypes]
      41 |  asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~~~~~~~~
   kernel/sys_ni.c:49:1: note: in expansion of macro 'COND_SYSCALL_COMPAT'
      49 | COND_SYSCALL_COMPAT(io_pgetevents_time32);
         | ^~~~~~~~~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:41:25: warning: no previous prototype for '__arm64_compat_sys_io_pgetevents' [-Wmissing-prototypes]
      41 |  asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~~~~~~~~
   kernel/sys_ni.c:50:1: note: in expansion of macro 'COND_SYSCALL_COMPAT'
      50 | COND_SYSCALL_COMPAT(io_pgetevents);
         | ^~~~~~~~~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_io_uring_setup' [-Wmissing-prototypes]
      76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~
   kernel/sys_ni.c:51:1: note: in expansion of macro 'COND_SYSCALL'
      51 | COND_SYSCALL(io_uring_setup);
         | ^~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_io_uring_enter' [-Wmissing-prototypes]
      76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~
   kernel/sys_ni.c:52:1: note: in expansion of macro 'COND_SYSCALL'
      52 | COND_SYSCALL(io_uring_enter);
         | ^~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_io_uring_register' [-Wmissing-prototypes]
      76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~
   kernel/sys_ni.c:53:1: note: in expansion of macro 'COND_SYSCALL'
      53 | COND_SYSCALL(io_uring_register);
         | ^~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_lookup_dcookie' [-Wmissing-prototypes]
      76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~
   kernel/sys_ni.c:60:1: note: in expansion of macro 'COND_SYSCALL'
      60 | COND_SYSCALL(lookup_dcookie);
         | ^~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:41:25: warning: no previous prototype for '__arm64_compat_sys_lookup_dcookie' [-Wmissing-prototypes]
      41 |  asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~~~~~~~~
   kernel/sys_ni.c:61:1: note: in expansion of macro 'COND_SYSCALL_COMPAT'
      61 | COND_SYSCALL_COMPAT(lookup_dcookie);
         | ^~~~~~~~~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_eventfd2' [-Wmissing-prototypes]
      76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~
   kernel/sys_ni.c:64:1: note: in expansion of macro 'COND_SYSCALL'
      64 | COND_SYSCALL(eventfd2);
         | ^~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_epoll_create1' [-Wmissing-prototypes]
      76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~
   kernel/sys_ni.c:67:1: note: in expansion of macro 'COND_SYSCALL'
      67 | COND_SYSCALL(epoll_create1);
         | ^~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_epoll_ctl' [-Wmissing-prototypes]
      76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~
   kernel/sys_ni.c:68:1: note: in expansion of macro 'COND_SYSCALL'
      68 | COND_SYSCALL(epoll_ctl);
         | ^~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_epoll_pwait' [-Wmissing-prototypes]
      76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~
   kernel/sys_ni.c:69:1: note: in expansion of macro 'COND_SYSCALL'
      69 | COND_SYSCALL(epoll_pwait);
         | ^~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:41:25: warning: no previous prototype for '__arm64_compat_sys_epoll_pwait' [-Wmissing-prototypes]
      41 |  asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~~~~~~~~
   kernel/sys_ni.c:70:1: note: in expansion of macro 'COND_SYSCALL_COMPAT'
      70 | COND_SYSCALL_COMPAT(epoll_pwait);
         | ^~~~~~~~~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_epoll_pwait2' [-Wmissing-prototypes]
      76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~
   kernel/sys_ni.c:71:1: note: in expansion of macro 'COND_SYSCALL'
      71 | COND_SYSCALL(epoll_pwait2);
         | ^~~~~~~~~~~~
>> arch/arm64/include/asm/syscall_wrapper.h:41:25: warning: no previous prototype for '__arm64_compat_sys_epoll_pwait2' [-Wmissing-prototypes]
      41 |  asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~~~~~~~~
   kernel/sys_ni.c:72:1: note: in expansion of macro 'COND_SYSCALL_COMPAT'
      72 | COND_SYSCALL_COMPAT(epoll_pwait2);
         | ^~~~~~~~~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_inotify_init1' [-Wmissing-prototypes]
      76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~
   kernel/sys_ni.c:77:1: note: in expansion of macro 'COND_SYSCALL'
      77 | COND_SYSCALL(inotify_init1);
         | ^~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_inotify_add_watch' [-Wmissing-prototypes]
      76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~
   kernel/sys_ni.c:78:1: note: in expansion of macro 'COND_SYSCALL'
      78 | COND_SYSCALL(inotify_add_watch);
         | ^~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_inotify_rm_watch' [-Wmissing-prototypes]
      76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~
   kernel/sys_ni.c:79:1: note: in expansion of macro 'COND_SYSCALL'
      79 | COND_SYSCALL(inotify_rm_watch);
         | ^~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_ioprio_set' [-Wmissing-prototypes]
      76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~
   kernel/sys_ni.c:84:1: note: in expansion of macro 'COND_SYSCALL'
      84 | COND_SYSCALL(ioprio_set);
         | ^~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_ioprio_get' [-Wmissing-prototypes]
      76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~
   kernel/sys_ni.c:85:1: note: in expansion of macro 'COND_SYSCALL'
      85 | COND_SYSCALL(ioprio_get);
         | ^~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_flock' [-Wmissing-prototypes]
      76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~
   kernel/sys_ni.c:88:1: note: in expansion of macro 'COND_SYSCALL'
      88 | COND_SYSCALL(flock);
         | ^~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_quotactl' [-Wmissing-prototypes]
      76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~
   kernel/sys_ni.c:101:1: note: in expansion of macro 'COND_SYSCALL'
     101 | COND_SYSCALL(quotactl);
         | ^~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_signalfd4' [-Wmissing-prototypes]
      76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~
   kernel/sys_ni.c:112:1: note: in expansion of macro 'COND_SYSCALL'
     112 | COND_SYSCALL(signalfd4);
         | ^~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:41:25: warning: no previous prototype for '__arm64_compat_sys_signalfd4' [-Wmissing-prototypes]
      41 |  asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~~~~~~~~
   kernel/sys_ni.c:113:1: note: in expansion of macro 'COND_SYSCALL_COMPAT'
     113 | COND_SYSCALL_COMPAT(signalfd4);
         | ^~~~~~~~~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_timerfd_create' [-Wmissing-prototypes]
      76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~
   kernel/sys_ni.c:122:1: note: in expansion of macro 'COND_SYSCALL'
     122 | COND_SYSCALL(timerfd_create);
         | ^~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_timerfd_settime' [-Wmissing-prototypes]
      76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~
   kernel/sys_ni.c:123:1: note: in expansion of macro 'COND_SYSCALL'
     123 | COND_SYSCALL(timerfd_settime);
         | ^~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_timerfd_settime32' [-Wmissing-prototypes]
      76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~
   kernel/sys_ni.c:124:1: note: in expansion of macro 'COND_SYSCALL'
     124 | COND_SYSCALL(timerfd_settime32);
         | ^~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_timerfd_gettime' [-Wmissing-prototypes]
      76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~
   kernel/sys_ni.c:125:1: note: in expansion of macro 'COND_SYSCALL'
     125 | COND_SYSCALL(timerfd_gettime);
         | ^~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_timerfd_gettime32' [-Wmissing-prototypes]
      76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~
   kernel/sys_ni.c:126:1: note: in expansion of macro 'COND_SYSCALL'
     126 | COND_SYSCALL(timerfd_gettime32);
         | ^~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_acct' [-Wmissing-prototypes]
      76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~
   kernel/sys_ni.c:131:1: note: in expansion of macro 'COND_SYSCALL'
     131 | COND_SYSCALL(acct);
         | ^~~~~~~~~~~~
   arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_capget' [-Wmissing-prototypes]
      76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
         |                         ^~~~~~~~~~~~
   kernel/sys_ni.c:134:1: note: in expansion of macro 'COND_SYSCALL'
     134 | COND_SYSCALL(capget);


vim +/__arm64_compat_sys_epoll_pwait2 +41 arch/arm64/include/asm/syscall_wrapper.h

4378a7d4be30ec69 Mark Rutland  2018-07-11  19  
4378a7d4be30ec69 Mark Rutland  2018-07-11  20  #define COMPAT_SYSCALL_DEFINEx(x, name, ...)						\
4378a7d4be30ec69 Mark Rutland  2018-07-11  21  	asmlinkage long __arm64_compat_sys##name(const struct pt_regs *regs);		\
4378a7d4be30ec69 Mark Rutland  2018-07-11  22  	ALLOW_ERROR_INJECTION(__arm64_compat_sys##name, ERRNO);				\
4378a7d4be30ec69 Mark Rutland  2018-07-11  23  	static long __se_compat_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__));		\
4378a7d4be30ec69 Mark Rutland  2018-07-11  24  	static inline long __do_compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));	\
4378a7d4be30ec69 Mark Rutland  2018-07-11  25  	asmlinkage long __arm64_compat_sys##name(const struct pt_regs *regs)		\
4378a7d4be30ec69 Mark Rutland  2018-07-11  26  	{										\
4378a7d4be30ec69 Mark Rutland  2018-07-11  27  		return __se_compat_sys##name(SC_ARM64_REGS_TO_ARGS(x,__VA_ARGS__));	\
4378a7d4be30ec69 Mark Rutland  2018-07-11  28  	}										\
4378a7d4be30ec69 Mark Rutland  2018-07-11  29  	static long __se_compat_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__))		\
4378a7d4be30ec69 Mark Rutland  2018-07-11  30  	{										\
4378a7d4be30ec69 Mark Rutland  2018-07-11  31  		return __do_compat_sys##name(__MAP(x,__SC_DELOUSE,__VA_ARGS__));	\
4378a7d4be30ec69 Mark Rutland  2018-07-11  32  	}										\
4378a7d4be30ec69 Mark Rutland  2018-07-11  33  	static inline long __do_compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))
4378a7d4be30ec69 Mark Rutland  2018-07-11  34  
4378a7d4be30ec69 Mark Rutland  2018-07-11  35  #define COMPAT_SYSCALL_DEFINE0(sname)							\
0e358bd7b7ebd27e Sami Tolvanen 2019-05-24  36  	asmlinkage long __arm64_compat_sys_##sname(const struct pt_regs *__unused);	\
4378a7d4be30ec69 Mark Rutland  2018-07-11  37  	ALLOW_ERROR_INJECTION(__arm64_compat_sys_##sname, ERRNO);			\
0e358bd7b7ebd27e Sami Tolvanen 2019-05-24  38  	asmlinkage long __arm64_compat_sys_##sname(const struct pt_regs *__unused)
4378a7d4be30ec69 Mark Rutland  2018-07-11  39  
4378a7d4be30ec69 Mark Rutland  2018-07-11  40  #define COND_SYSCALL_COMPAT(name) 							\
c27eccfe4d6c7481 Sami Tolvanen 2019-09-10 @41  	asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs)	\
c27eccfe4d6c7481 Sami Tolvanen 2019-09-10  42  	{										\
c27eccfe4d6c7481 Sami Tolvanen 2019-09-10  43  		return sys_ni_syscall();						\
c27eccfe4d6c7481 Sami Tolvanen 2019-09-10  44  	}
4378a7d4be30ec69 Mark Rutland  2018-07-11  45  
4378a7d4be30ec69 Mark Rutland  2018-07-11  46  #define COMPAT_SYS_NI(name) \
4378a7d4be30ec69 Mark Rutland  2018-07-11  47  	SYSCALL_ALIAS(__arm64_compat_sys_##name, sys_ni_posix_timers);
4378a7d4be30ec69 Mark Rutland  2018-07-11  48  
4378a7d4be30ec69 Mark Rutland  2018-07-11  49  #endif /* CONFIG_COMPAT */
4378a7d4be30ec69 Mark Rutland  2018-07-11  50  
4378a7d4be30ec69 Mark Rutland  2018-07-11  51  #define __SYSCALL_DEFINEx(x, name, ...)						\
4378a7d4be30ec69 Mark Rutland  2018-07-11  52  	asmlinkage long __arm64_sys##name(const struct pt_regs *regs);		\
4378a7d4be30ec69 Mark Rutland  2018-07-11  53  	ALLOW_ERROR_INJECTION(__arm64_sys##name, ERRNO);			\
4378a7d4be30ec69 Mark Rutland  2018-07-11  54  	static long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__));		\
4378a7d4be30ec69 Mark Rutland  2018-07-11  55  	static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));	\
4378a7d4be30ec69 Mark Rutland  2018-07-11  56  	asmlinkage long __arm64_sys##name(const struct pt_regs *regs)		\
4378a7d4be30ec69 Mark Rutland  2018-07-11  57  	{									\
4378a7d4be30ec69 Mark Rutland  2018-07-11  58  		return __se_sys##name(SC_ARM64_REGS_TO_ARGS(x,__VA_ARGS__));	\
4378a7d4be30ec69 Mark Rutland  2018-07-11  59  	}									\
4378a7d4be30ec69 Mark Rutland  2018-07-11  60  	static long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__))		\
4378a7d4be30ec69 Mark Rutland  2018-07-11  61  	{									\
4378a7d4be30ec69 Mark Rutland  2018-07-11  62  		long ret = __do_sys##name(__MAP(x,__SC_CAST,__VA_ARGS__));	\
4378a7d4be30ec69 Mark Rutland  2018-07-11  63  		__MAP(x,__SC_TEST,__VA_ARGS__);					\
4378a7d4be30ec69 Mark Rutland  2018-07-11  64  		__PROTECT(x, ret,__MAP(x,__SC_ARGS,__VA_ARGS__));		\
4378a7d4be30ec69 Mark Rutland  2018-07-11  65  		return ret;							\
4378a7d4be30ec69 Mark Rutland  2018-07-11  66  	}									\
4378a7d4be30ec69 Mark Rutland  2018-07-11  67  	static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))
4378a7d4be30ec69 Mark Rutland  2018-07-11  68  
4378a7d4be30ec69 Mark Rutland  2018-07-11  69  #define SYSCALL_DEFINE0(sname)							\
4378a7d4be30ec69 Mark Rutland  2018-07-11  70  	SYSCALL_METADATA(_##sname, 0);						\
0e358bd7b7ebd27e Sami Tolvanen 2019-05-24  71  	asmlinkage long __arm64_sys_##sname(const struct pt_regs *__unused);	\
4378a7d4be30ec69 Mark Rutland  2018-07-11  72  	ALLOW_ERROR_INJECTION(__arm64_sys_##sname, ERRNO);			\
0e358bd7b7ebd27e Sami Tolvanen 2019-05-24  73  	asmlinkage long __arm64_sys_##sname(const struct pt_regs *__unused)
4378a7d4be30ec69 Mark Rutland  2018-07-11  74  
c27eccfe4d6c7481 Sami Tolvanen 2019-09-10  75  #define COND_SYSCALL(name)							\
c27eccfe4d6c7481 Sami Tolvanen 2019-09-10 @76  	asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs)	\
c27eccfe4d6c7481 Sami Tolvanen 2019-09-10  77  	{									\
c27eccfe4d6c7481 Sami Tolvanen 2019-09-10  78  		return sys_ni_syscall();					\
c27eccfe4d6c7481 Sami Tolvanen 2019-09-10  79  	}
4378a7d4be30ec69 Mark Rutland  2018-07-11  80  

:::::: The code at line 41 was first introduced by commit
:::::: c27eccfe4d6c7481ce99f1c433ca043ab464080a arm64: fix function types in COND_SYSCALL

:::::: TO: Sami Tolvanen <samitolvanen@google.com>
:::::: CC: Will Deacon <will@kernel.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 36083 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: arch/arm64/include/asm/syscall_wrapper.h:41:25: warning: no previous prototype for '__arm64_compat_sys_epoll_pwait2'
  2021-01-14  8:04 arch/arm64/include/asm/syscall_wrapper.h:41:25: warning: no previous prototype for '__arm64_compat_sys_epoll_pwait2' kernel test robot
@ 2021-01-14 16:40 ` Willem de Bruijn
  0 siblings, 0 replies; 2+ messages in thread
From: Willem de Bruijn @ 2021-01-14 16:40 UTC (permalink / raw)
  To: kernel test robot
  Cc: kbuild-all, linux-kernel, Andrew Morton, Linux Memory Management List

On Thu, Jan 14, 2021 at 3:05 AM kernel test robot <lkp@intel.com> wrote:
>
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   65f0d2414b7079556fbbcc070b3d1c9f9587606d
> commit: b0a0c2615f6f199a656ed8549d7dce625d77aa77 epoll: wire up syscall epoll_pwait2
> date:   4 weeks ago
> config: arm64-randconfig-r005-20210113 (attached as .config)
> compiler: aarch64-linux-gcc (GCC) 9.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://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b0a0c2615f6f199a656ed8549d7dce625d77aa77
>         git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>         git fetch --no-tags linus master
>         git checkout b0a0c2615f6f199a656ed8549d7dce625d77aa77
>         # save the attached .config to linux build tree
>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
> All warnings (new ones prefixed by >>):
>
>          |                         ^~~~~~~~~~~~
>    kernel/sys_ni.c:45:1: note: in expansion of macro 'COND_SYSCALL'
>       45 | COND_SYSCALL(io_getevents_time32);
>          | ^~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_io_getevents' [-Wmissing-prototypes]
>       76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~
>    kernel/sys_ni.c:46:1: note: in expansion of macro 'COND_SYSCALL'
>       46 | COND_SYSCALL(io_getevents);
>          | ^~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_io_pgetevents_time32' [-Wmissing-prototypes]
>       76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~
>    kernel/sys_ni.c:47:1: note: in expansion of macro 'COND_SYSCALL'
>       47 | COND_SYSCALL(io_pgetevents_time32);
>          | ^~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_io_pgetevents' [-Wmissing-prototypes]
>       76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~
>    kernel/sys_ni.c:48:1: note: in expansion of macro 'COND_SYSCALL'
>       48 | COND_SYSCALL(io_pgetevents);
>          | ^~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:41:25: warning: no previous prototype for '__arm64_compat_sys_io_pgetevents_time32' [-Wmissing-prototypes]
>       41 |  asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~~~~~~~~
>    kernel/sys_ni.c:49:1: note: in expansion of macro 'COND_SYSCALL_COMPAT'
>       49 | COND_SYSCALL_COMPAT(io_pgetevents_time32);
>          | ^~~~~~~~~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:41:25: warning: no previous prototype for '__arm64_compat_sys_io_pgetevents' [-Wmissing-prototypes]
>       41 |  asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~~~~~~~~
>    kernel/sys_ni.c:50:1: note: in expansion of macro 'COND_SYSCALL_COMPAT'
>       50 | COND_SYSCALL_COMPAT(io_pgetevents);
>          | ^~~~~~~~~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_io_uring_setup' [-Wmissing-prototypes]
>       76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~
>    kernel/sys_ni.c:51:1: note: in expansion of macro 'COND_SYSCALL'
>       51 | COND_SYSCALL(io_uring_setup);
>          | ^~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_io_uring_enter' [-Wmissing-prototypes]
>       76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~
>    kernel/sys_ni.c:52:1: note: in expansion of macro 'COND_SYSCALL'
>       52 | COND_SYSCALL(io_uring_enter);
>          | ^~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_io_uring_register' [-Wmissing-prototypes]
>       76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~
>    kernel/sys_ni.c:53:1: note: in expansion of macro 'COND_SYSCALL'
>       53 | COND_SYSCALL(io_uring_register);
>          | ^~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_lookup_dcookie' [-Wmissing-prototypes]
>       76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~
>    kernel/sys_ni.c:60:1: note: in expansion of macro 'COND_SYSCALL'
>       60 | COND_SYSCALL(lookup_dcookie);
>          | ^~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:41:25: warning: no previous prototype for '__arm64_compat_sys_lookup_dcookie' [-Wmissing-prototypes]
>       41 |  asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~~~~~~~~
>    kernel/sys_ni.c:61:1: note: in expansion of macro 'COND_SYSCALL_COMPAT'
>       61 | COND_SYSCALL_COMPAT(lookup_dcookie);
>          | ^~~~~~~~~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_eventfd2' [-Wmissing-prototypes]
>       76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~
>    kernel/sys_ni.c:64:1: note: in expansion of macro 'COND_SYSCALL'
>       64 | COND_SYSCALL(eventfd2);
>          | ^~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_epoll_create1' [-Wmissing-prototypes]
>       76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~
>    kernel/sys_ni.c:67:1: note: in expansion of macro 'COND_SYSCALL'
>       67 | COND_SYSCALL(epoll_create1);
>          | ^~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_epoll_ctl' [-Wmissing-prototypes]
>       76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~
>    kernel/sys_ni.c:68:1: note: in expansion of macro 'COND_SYSCALL'
>       68 | COND_SYSCALL(epoll_ctl);
>          | ^~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_epoll_pwait' [-Wmissing-prototypes]
>       76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~
>    kernel/sys_ni.c:69:1: note: in expansion of macro 'COND_SYSCALL'
>       69 | COND_SYSCALL(epoll_pwait);
>          | ^~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:41:25: warning: no previous prototype for '__arm64_compat_sys_epoll_pwait' [-Wmissing-prototypes]
>       41 |  asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~~~~~~~~
>    kernel/sys_ni.c:70:1: note: in expansion of macro 'COND_SYSCALL_COMPAT'
>       70 | COND_SYSCALL_COMPAT(epoll_pwait);
>          | ^~~~~~~~~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_epoll_pwait2' [-Wmissing-prototypes]
>       76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~
>    kernel/sys_ni.c:71:1: note: in expansion of macro 'COND_SYSCALL'
>       71 | COND_SYSCALL(epoll_pwait2);
>          | ^~~~~~~~~~~~
> >> arch/arm64/include/asm/syscall_wrapper.h:41:25: warning: no previous prototype for '__arm64_compat_sys_epoll_pwait2' [-Wmissing-prototypes]
>       41 |  asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~~~~~~~~
>    kernel/sys_ni.c:72:1: note: in expansion of macro 'COND_SYSCALL_COMPAT'
>       72 | COND_SYSCALL_COMPAT(epoll_pwait2);
>          | ^~~~~~~~~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_inotify_init1' [-Wmissing-prototypes]
>       76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~
>    kernel/sys_ni.c:77:1: note: in expansion of macro 'COND_SYSCALL'
>       77 | COND_SYSCALL(inotify_init1);
>          | ^~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_inotify_add_watch' [-Wmissing-prototypes]
>       76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~
>    kernel/sys_ni.c:78:1: note: in expansion of macro 'COND_SYSCALL'
>       78 | COND_SYSCALL(inotify_add_watch);
>          | ^~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_inotify_rm_watch' [-Wmissing-prototypes]
>       76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~
>    kernel/sys_ni.c:79:1: note: in expansion of macro 'COND_SYSCALL'
>       79 | COND_SYSCALL(inotify_rm_watch);
>          | ^~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_ioprio_set' [-Wmissing-prototypes]
>       76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~
>    kernel/sys_ni.c:84:1: note: in expansion of macro 'COND_SYSCALL'
>       84 | COND_SYSCALL(ioprio_set);
>          | ^~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_ioprio_get' [-Wmissing-prototypes]
>       76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~
>    kernel/sys_ni.c:85:1: note: in expansion of macro 'COND_SYSCALL'
>       85 | COND_SYSCALL(ioprio_get);
>          | ^~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_flock' [-Wmissing-prototypes]
>       76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~
>    kernel/sys_ni.c:88:1: note: in expansion of macro 'COND_SYSCALL'
>       88 | COND_SYSCALL(flock);
>          | ^~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_quotactl' [-Wmissing-prototypes]
>       76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~
>    kernel/sys_ni.c:101:1: note: in expansion of macro 'COND_SYSCALL'
>      101 | COND_SYSCALL(quotactl);
>          | ^~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_signalfd4' [-Wmissing-prototypes]
>       76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~
>    kernel/sys_ni.c:112:1: note: in expansion of macro 'COND_SYSCALL'
>      112 | COND_SYSCALL(signalfd4);
>          | ^~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:41:25: warning: no previous prototype for '__arm64_compat_sys_signalfd4' [-Wmissing-prototypes]
>       41 |  asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~~~~~~~~
>    kernel/sys_ni.c:113:1: note: in expansion of macro 'COND_SYSCALL_COMPAT'
>      113 | COND_SYSCALL_COMPAT(signalfd4);
>          | ^~~~~~~~~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_timerfd_create' [-Wmissing-prototypes]
>       76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~
>    kernel/sys_ni.c:122:1: note: in expansion of macro 'COND_SYSCALL'
>      122 | COND_SYSCALL(timerfd_create);
>          | ^~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_timerfd_settime' [-Wmissing-prototypes]
>       76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~
>    kernel/sys_ni.c:123:1: note: in expansion of macro 'COND_SYSCALL'
>      123 | COND_SYSCALL(timerfd_settime);
>          | ^~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_timerfd_settime32' [-Wmissing-prototypes]
>       76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~
>    kernel/sys_ni.c:124:1: note: in expansion of macro 'COND_SYSCALL'
>      124 | COND_SYSCALL(timerfd_settime32);
>          | ^~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_timerfd_gettime' [-Wmissing-prototypes]
>       76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~
>    kernel/sys_ni.c:125:1: note: in expansion of macro 'COND_SYSCALL'
>      125 | COND_SYSCALL(timerfd_gettime);
>          | ^~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_timerfd_gettime32' [-Wmissing-prototypes]
>       76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~
>    kernel/sys_ni.c:126:1: note: in expansion of macro 'COND_SYSCALL'
>      126 | COND_SYSCALL(timerfd_gettime32);
>          | ^~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_acct' [-Wmissing-prototypes]
>       76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~
>    kernel/sys_ni.c:131:1: note: in expansion of macro 'COND_SYSCALL'
>      131 | COND_SYSCALL(acct);
>          | ^~~~~~~~~~~~
>    arch/arm64/include/asm/syscall_wrapper.h:76:25: warning: no previous prototype for '__arm64_sys_capget' [-Wmissing-prototypes]
>       76 |  asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs) \
>          |                         ^~~~~~~~~~~~
>    kernel/sys_ni.c:134:1: note: in expansion of macro 'COND_SYSCALL'
>      134 | COND_SYSCALL(capget);
>
>
> vim +/__arm64_compat_sys_epoll_pwait2 +41 arch/arm64/include/asm/syscall_wrapper.h
>
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  19
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  20  #define COMPAT_SYSCALL_DEFINEx(x, name, ...)                                             \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  21   asmlinkage long __arm64_compat_sys##name(const struct pt_regs *regs);           \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  22   ALLOW_ERROR_INJECTION(__arm64_compat_sys##name, ERRNO);                         \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  23   static long __se_compat_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__));              \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  24   static inline long __do_compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));       \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  25   asmlinkage long __arm64_compat_sys##name(const struct pt_regs *regs)            \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  26   {                                                                               \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  27           return __se_compat_sys##name(SC_ARM64_REGS_TO_ARGS(x,__VA_ARGS__));     \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  28   }                                                                               \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  29   static long __se_compat_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__))               \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  30   {                                                                               \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  31           return __do_compat_sys##name(__MAP(x,__SC_DELOUSE,__VA_ARGS__));        \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  32   }                                                                               \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  33   static inline long __do_compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  34
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  35  #define COMPAT_SYSCALL_DEFINE0(sname)                                                    \
> 0e358bd7b7ebd27e Sami Tolvanen 2019-05-24  36   asmlinkage long __arm64_compat_sys_##sname(const struct pt_regs *__unused);     \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  37   ALLOW_ERROR_INJECTION(__arm64_compat_sys_##sname, ERRNO);                       \
> 0e358bd7b7ebd27e Sami Tolvanen 2019-05-24  38   asmlinkage long __arm64_compat_sys_##sname(const struct pt_regs *__unused)
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  39
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  40  #define COND_SYSCALL_COMPAT(name)                                                        \
> c27eccfe4d6c7481 Sami Tolvanen 2019-09-10 @41   asmlinkage long __weak __arm64_compat_sys_##name(const struct pt_regs *regs)    \
> c27eccfe4d6c7481 Sami Tolvanen 2019-09-10  42   {                                                                               \
> c27eccfe4d6c7481 Sami Tolvanen 2019-09-10  43           return sys_ni_syscall();                                                \
> c27eccfe4d6c7481 Sami Tolvanen 2019-09-10  44   }
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  45
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  46  #define COMPAT_SYS_NI(name) \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  47   SYSCALL_ALIAS(__arm64_compat_sys_##name, sys_ni_posix_timers);
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  48
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  49  #endif /* CONFIG_COMPAT */
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  50
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  51  #define __SYSCALL_DEFINEx(x, name, ...)                                          \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  52   asmlinkage long __arm64_sys##name(const struct pt_regs *regs);          \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  53   ALLOW_ERROR_INJECTION(__arm64_sys##name, ERRNO);                        \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  54   static long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__));             \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  55   static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));      \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  56   asmlinkage long __arm64_sys##name(const struct pt_regs *regs)           \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  57   {                                                                       \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  58           return __se_sys##name(SC_ARM64_REGS_TO_ARGS(x,__VA_ARGS__));    \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  59   }                                                                       \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  60   static long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__))              \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  61   {                                                                       \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  62           long ret = __do_sys##name(__MAP(x,__SC_CAST,__VA_ARGS__));      \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  63           __MAP(x,__SC_TEST,__VA_ARGS__);                                 \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  64           __PROTECT(x, ret,__MAP(x,__SC_ARGS,__VA_ARGS__));               \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  65           return ret;                                                     \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  66   }                                                                       \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  67   static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  68
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  69  #define SYSCALL_DEFINE0(sname)                                                   \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  70   SYSCALL_METADATA(_##sname, 0);                                          \
> 0e358bd7b7ebd27e Sami Tolvanen 2019-05-24  71   asmlinkage long __arm64_sys_##sname(const struct pt_regs *__unused);    \
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  72   ALLOW_ERROR_INJECTION(__arm64_sys_##sname, ERRNO);                      \
> 0e358bd7b7ebd27e Sami Tolvanen 2019-05-24  73   asmlinkage long __arm64_sys_##sname(const struct pt_regs *__unused)
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  74
> c27eccfe4d6c7481 Sami Tolvanen 2019-09-10  75  #define COND_SYSCALL(name)                                                       \
> c27eccfe4d6c7481 Sami Tolvanen 2019-09-10 @76   asmlinkage long __weak __arm64_sys_##name(const struct pt_regs *regs)   \
> c27eccfe4d6c7481 Sami Tolvanen 2019-09-10  77   {                                                                       \
> c27eccfe4d6c7481 Sami Tolvanen 2019-09-10  78           return sys_ni_syscall();                                        \
> c27eccfe4d6c7481 Sami Tolvanen 2019-09-10  79   }
> 4378a7d4be30ec69 Mark Rutland  2018-07-11  80
>
> :::::: The code at line 41 was first introduced by commit
> :::::: c27eccfe4d6c7481ce99f1c433ca043ab464080a arm64: fix function types in COND_SYSCALL
>
> :::::: TO: Sami Tolvanen <samitolvanen@google.com>
> :::::: CC: Will Deacon <will@kernel.org>

As the report notes, the warnings in general are not new with this
commit. This commit only adds one more instance, for epoll_pwait2.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-01-14 16:42 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-14  8:04 arch/arm64/include/asm/syscall_wrapper.h:41:25: warning: no previous prototype for '__arm64_compat_sys_epoll_pwait2' kernel test robot
2021-01-14 16:40 ` Willem de Bruijn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).