All of lore.kernel.org
 help / color / mirror / Atom feed
* [arnd-asm-generic:syscall-tbl-6.11 60/98] include/linux/syscalls.h:250:25: error: conflicting types for 'sys_oabi_semtimedop'; have 'long int(int,  struct oabi_sembuf *, unsigned int)'
@ 2024-07-18  5:21 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-07-18  5:21 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: oe-kbuild-all, linux-arch

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git syscall-tbl-6.11
head:   9a99991d90521113a738c2a4761a4147fe4b31ca
commit: 39f4c859d147bb7d48fa363687c5afa2ab9b2893 [60/98] ARM: OABI SYSCALL_DEFINEx
config: arm-randconfig-004-20240718 (https://download.01.org/0day-ci/archive/20240718/202407181351.FWGCeOYe-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 14.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240718/202407181351.FWGCeOYe-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202407181351.FWGCeOYe-lkp@intel.com/

All errors (new ones prefixed by >>):

   In file included from arch/arm/kernel/sys_oabi-compat.c:75:
>> include/linux/syscalls.h:250:25: error: conflicting types for 'sys_oabi_semtimedop'; have 'long int(int,  struct oabi_sembuf *, unsigned int)'
     250 |         asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))       \
         |                         ^~~
   include/linux/syscalls.h:236:9: note: in expansion of macro '__SYSCALL_DEFINEx'
     236 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:225:36: note: in expansion of macro 'SYSCALL_DEFINEx'
     225 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
         |                                    ^~~~~~~~~~~~~~~
   arch/arm/kernel/sys_oabi-compat.c:407:1: note: in expansion of macro 'SYSCALL_DEFINE3'
     407 | SYSCALL_DEFINE3(oabi_semtimedop, int, semid, struct oabi_sembuf __user *, tsops,
         | ^~~~~~~~~~~~~~~
   In file included from arch/arm/kernel/sys_oabi-compat.c:13:
   arch/arm/include/asm/syscalls.h:30:17: note: previous declaration of 'sys_oabi_semtimedop' with type 'long int(int,  struct oabi_sembuf *, unsigned int,  const struct old_timespec32 *)'
      30 | asmlinkage long sys_oabi_semtimedop(int semid,
         |                 ^~~~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:250:25: error: conflicting types for 'sys_oabi_ipc'; have 'long int(uint,  int,  int,  int,  void *)' {aka 'long int(unsigned int,  int,  int,  int,  void *)'}
     250 |         asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))       \
         |                         ^~~
   include/linux/syscalls.h:236:9: note: in expansion of macro '__SYSCALL_DEFINEx'
     236 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:227:36: note: in expansion of macro 'SYSCALL_DEFINEx'
     227 | #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__)
         |                                    ^~~~~~~~~~~~~~~
   arch/arm/kernel/sys_oabi-compat.c:419:1: note: in expansion of macro 'SYSCALL_DEFINE5'
     419 | SYSCALL_DEFINE5(oabi_ipc, uint, call, int, first, int, second, int, third,
         | ^~~~~~~~~~~~~~~
   arch/arm/include/asm/syscalls.h:36:16: note: previous declaration of 'sys_oabi_ipc' with type 'int(uint,  int,  int,  int,  void *, long int)' {aka 'int(unsigned int,  int,  int,  int,  void *, long int)'}
      36 | asmlinkage int sys_oabi_ipc(uint call, int first, int second, int third,
         |                ^~~~~~~~~~~~
   include/linux/syscalls.h:250:25: error: conflicting types for 'sys_oabi_sendto'; have 'long int(int,  void *, size_t,  unsigned int)' {aka 'long int(int,  void *, unsigned int,  unsigned int)'}
     250 |         asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))       \
         |                         ^~~
   include/linux/syscalls.h:236:9: note: in expansion of macro '__SYSCALL_DEFINEx'
     236 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:226:36: note: in expansion of macro 'SYSCALL_DEFINEx'
     226 | #define SYSCALL_DEFINE4(name, ...) SYSCALL_DEFINEx(4, _##name, __VA_ARGS__)
         |                                    ^~~~~~~~~~~~~~~
   arch/arm/kernel/sys_oabi-compat.c:448:1: note: in expansion of macro 'SYSCALL_DEFINE4'
     448 | SYSCALL_DEFINE4(oabi_sendto, int, fd, void __user *, buff, size_t, len,
         | ^~~~~~~~~~~~~~~
   arch/arm/include/asm/syscalls.h:41:17: note: previous declaration of 'sys_oabi_sendto' with type 'long int(int,  void *, size_t,  unsigned int,  struct sockaddr *, int)' {aka 'long int(int,  void *, unsigned int,  unsigned int,  struct sockaddr *, int)'}
      41 | asmlinkage long sys_oabi_sendto(int fd, void __user *buff,
         |                 ^~~~~~~~~~~~~~~
   arch/arm/kernel/sys_oabi-compat.c: In function '__do_sys_oabi_sendto':
   arch/arm/kernel/sys_oabi-compat.c:452:13: error: 'addrlen' undeclared (first use in this function)
     452 |         if (addrlen == 112 &&
         |             ^~~~~~~
   arch/arm/kernel/sys_oabi-compat.c:452:13: note: each undeclared identifier is reported only once for each function it appears in
   In file included from include/linux/uaccess.h:11,
                    from include/linux/sched/task.h:13,
                    from include/linux/sched/signal.h:9,
                    from include/linux/rcuwait.h:6,
                    from include/linux/percpu-rwsem.h:7,
                    from include/linux/fs.h:33,
                    from include/uapi/linux/aio_abi.h:31,
                    from include/linux/syscalls.h:82:
   arch/arm/kernel/sys_oabi-compat.c:453:34: error: 'addr' undeclared (first use in this function)
     453 |             get_user(sa_family, &addr->sa_family) == 0 &&
         |                                  ^~~~
   arch/arm/include/asm/uaccess.h:184:35: note: in definition of macro '__get_user_check'
     184 |                 register typeof(*(p)) __user *__p asm("r0") = (p);      \
         |                                   ^
   arch/arm/kernel/sys_oabi-compat.c:453:13: note: in expansion of macro 'get_user'
     453 |             get_user(sa_family, &addr->sa_family) == 0 &&
         |             ^~~~~~~~
   arch/arm/kernel/sys_oabi-compat.c: In function '__do_sys_oabi_sendmsg':
   arch/arm/kernel/sys_oabi-compat.c:483:16: error: too few arguments to function '__sys_sendmsg'
     483 |         return __sys_sendmsg(fd, msg, flags);
         |                ^~~~~~~~~~~~~
   In file included from arch/arm/kernel/sys_oabi-compat.c:83:
   include/linux/socket.h:411:13: note: declared here
     411 | extern long __sys_sendmsg(int fd, struct user_msghdr __user *msg,
         |             ^~~~~~~~~~~~~
   arch/arm/kernel/sys_oabi-compat.c: In function '__do_sys_oabi_socketcall':
   arch/arm/kernel/sys_oabi-compat.c:501:29: error: too many arguments to function 'sys_oabi_sendto'
     501 |                         r = sys_oabi_sendto(a[0], (void __user *)a[1], a[2], a[3],
         |                             ^~~~~~~~~~~~~~~
   include/linux/syscalls.h:250:25: note: declared here
     250 |         asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))       \
         |                         ^~~
   include/linux/syscalls.h:236:9: note: in expansion of macro '__SYSCALL_DEFINEx'
     236 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:226:36: note: in expansion of macro 'SYSCALL_DEFINEx'
     226 | #define SYSCALL_DEFINE4(name, ...) SYSCALL_DEFINEx(4, _##name, __VA_ARGS__)
         |                                    ^~~~~~~~~~~~~~~
   arch/arm/kernel/sys_oabi-compat.c:448:1: note: in expansion of macro 'SYSCALL_DEFINE4'
     448 | SYSCALL_DEFINE4(oabi_sendto, int, fd, void __user *, buff, size_t, len,
         | ^~~~~~~~~~~~~~~
   arch/arm/kernel/sys_oabi-compat.c: In function '__do_sys_oabi_sendto':
   arch/arm/kernel/sys_oabi-compat.c:457:1: warning: control reaches end of non-void function [-Wreturn-type]
     457 | }
         | ^
   arch/arm/kernel/sys_oabi-compat.c: In function '__do_sys_oabi_sendmsg':
   arch/arm/kernel/sys_oabi-compat.c:484:1: warning: control reaches end of non-void function [-Wreturn-type]
     484 | }
         | ^


vim +250 include/linux/syscalls.h

1bd21c6c21e848 Dominik Brodowski   2018-04-05  239  
e145242ea0df6b Dominik Brodowski   2018-04-09  240  /*
e145242ea0df6b Dominik Brodowski   2018-04-09  241   * The asmlinkage stub is aliased to a function named __se_sys_*() which
e145242ea0df6b Dominik Brodowski   2018-04-09  242   * sign-extends 32-bit ints to longs whenever needed. The actual work is
e145242ea0df6b Dominik Brodowski   2018-04-09  243   * done within __do_sys_*().
e145242ea0df6b Dominik Brodowski   2018-04-09  244   */
1bd21c6c21e848 Dominik Brodowski   2018-04-05  245  #ifndef __SYSCALL_DEFINEx
bed1ffca022cc8 Frederic Weisbecker 2009-03-13  246  #define __SYSCALL_DEFINEx(x, name, ...)					\
bee20031772af3 Arnd Bergmann       2018-06-19  247  	__diag_push();							\
bee20031772af3 Arnd Bergmann       2018-06-19  248  	__diag_ignore(GCC, 8, "-Wattribute-alias",			\
bee20031772af3 Arnd Bergmann       2018-06-19  249  		      "Type aliasing is used to sanitize syscall arguments");\
83460ec8dcac14 Andi Kleen          2013-11-12 @250  	asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))	\
e145242ea0df6b Dominik Brodowski   2018-04-09  251  		__attribute__((alias(__stringify(__se_sys##name))));	\
c9a211951c7c79 Howard McLauchlan   2018-03-21  252  	ALLOW_ERROR_INJECTION(sys##name, ERRNO);			\
e145242ea0df6b Dominik Brodowski   2018-04-09  253  	static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));\
e145242ea0df6b Dominik Brodowski   2018-04-09  254  	asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__));	\
e145242ea0df6b Dominik Brodowski   2018-04-09  255  	asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__))	\
1a94bc34768e46 Heiko Carstens      2009-01-14  256  	{								\
e145242ea0df6b Dominik Brodowski   2018-04-09  257  		long ret = __do_sys##name(__MAP(x,__SC_CAST,__VA_ARGS__));\
07fe6e00f6cca6 Al Viro             2013-01-21  258  		__MAP(x,__SC_TEST,__VA_ARGS__);				\
2cf0966683430b Al Viro             2013-01-21  259  		__PROTECT(x, ret,__MAP(x,__SC_ARGS,__VA_ARGS__));	\
2cf0966683430b Al Viro             2013-01-21  260  		return ret;						\
1a94bc34768e46 Heiko Carstens      2009-01-14  261  	}								\
bee20031772af3 Arnd Bergmann       2018-06-19  262  	__diag_pop();							\
e145242ea0df6b Dominik Brodowski   2018-04-09  263  	static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))
1bd21c6c21e848 Dominik Brodowski   2018-04-05  264  #endif /* __SYSCALL_DEFINEx */
1a94bc34768e46 Heiko Carstens      2009-01-14  265  

:::::: The code at line 250 was first introduced by commit
:::::: 83460ec8dcac14142e7860a01fa59c267ac4657c syscalls.h: use gcc alias instead of assembler aliases for syscalls

:::::: TO: Andi Kleen <ak@linux.intel.com>
:::::: CC: Linus Torvalds <torvalds@linux-foundation.org>

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-07-18  5:22 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-18  5:21 [arnd-asm-generic:syscall-tbl-6.11 60/98] include/linux/syscalls.h:250:25: error: conflicting types for 'sys_oabi_semtimedop'; have 'long int(int, struct oabi_sembuf *, unsigned int)' kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.