tree: https://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git syscall-tbl-6.11 head: ece1b5ebc0b7064a8a130f64e85a81ec76381c3f commit: 2263955b209e2016dc9f30d129e356f4123310d5 [44/80] ARM: OABI SYSCALL_DEFINEx config: arm-allyesconfig (https://download.01.org/0day-ci/archive/20240724/202407241835.aJUft8p5-lkp@xxxxxxxxx/config) compiler: arm-linux-gnueabi-gcc (GCC) 14.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240724/202407241835.aJUft8p5-lkp@xxxxxxxxx/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@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202407241835.aJUft8p5-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): In file included from arch/arm/kernel/sys_oabi-compat.c:75: >> include/linux/syscalls.h:251: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)'} 251 | asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \ | ^~~ include/linux/syscalls.h:237:9: note: in expansion of macro '__SYSCALL_DEFINEx' 237 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:227:36: note: in expansion of macro 'SYSCALL_DEFINEx' 227 | #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, | ^~~~~~~~~~~~~~~ In file included from arch/arm/kernel/sys_oabi-compat.c:13: 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:83: >> 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:251:25: note: declared here 251 | asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \ | ^~~ include/linux/syscalls.h:237:9: note: in expansion of macro '__SYSCALL_DEFINEx' 237 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:227:36: note: in expansion of macro 'SYSCALL_DEFINEx' 227 | #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 +251 include/linux/syscalls.h 1bd21c6c21e848 Dominik Brodowski 2018-04-05 240 e145242ea0df6b Dominik Brodowski 2018-04-09 241 /* e145242ea0df6b Dominik Brodowski 2018-04-09 242 * The asmlinkage stub is aliased to a function named __se_sys_*() which e145242ea0df6b Dominik Brodowski 2018-04-09 243 * sign-extends 32-bit ints to longs whenever needed. The actual work is e145242ea0df6b Dominik Brodowski 2018-04-09 244 * done within __do_sys_*(). e145242ea0df6b Dominik Brodowski 2018-04-09 245 */ 1bd21c6c21e848 Dominik Brodowski 2018-04-05 246 #ifndef __SYSCALL_DEFINEx bed1ffca022cc8 Frederic Weisbecker 2009-03-13 247 #define __SYSCALL_DEFINEx(x, name, ...) \ bee20031772af3 Arnd Bergmann 2018-06-19 248 __diag_push(); \ bee20031772af3 Arnd Bergmann 2018-06-19 249 __diag_ignore(GCC, 8, "-Wattribute-alias", \ bee20031772af3 Arnd Bergmann 2018-06-19 250 "Type aliasing is used to sanitize syscall arguments");\ 83460ec8dcac14 Andi Kleen 2013-11-12 @251 asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \ e145242ea0df6b Dominik Brodowski 2018-04-09 252 __attribute__((alias(__stringify(__se_sys##name)))); \ c9a211951c7c79 Howard McLauchlan 2018-03-21 253 ALLOW_ERROR_INJECTION(sys##name, ERRNO); \ e145242ea0df6b Dominik Brodowski 2018-04-09 254 static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));\ e145242ea0df6b Dominik Brodowski 2018-04-09 255 asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \ e145242ea0df6b Dominik Brodowski 2018-04-09 256 asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \ 1a94bc34768e46 Heiko Carstens 2009-01-14 257 { \ e145242ea0df6b Dominik Brodowski 2018-04-09 258 long ret = __do_sys##name(__MAP(x,__SC_CAST,__VA_ARGS__));\ 07fe6e00f6cca6 Al Viro 2013-01-21 259 __MAP(x,__SC_TEST,__VA_ARGS__); \ 2cf0966683430b Al Viro 2013-01-21 260 __PROTECT(x, ret,__MAP(x,__SC_ARGS,__VA_ARGS__)); \ 2cf0966683430b Al Viro 2013-01-21 261 return ret; \ 1a94bc34768e46 Heiko Carstens 2009-01-14 262 } \ bee20031772af3 Arnd Bergmann 2018-06-19 263 __diag_pop(); \ e145242ea0df6b Dominik Brodowski 2018-04-09 264 static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) 1bd21c6c21e848 Dominik Brodowski 2018-04-05 265 #endif /* __SYSCALL_DEFINEx */ 1a94bc34768e46 Heiko Carstens 2009-01-14 266 :::::: The code at line 251 was first introduced by commit :::::: 83460ec8dcac14142e7860a01fa59c267ac4657c syscalls.h: use gcc alias instead of assembler aliases for syscalls :::::: TO: Andi Kleen <ak@xxxxxxxxxxxxxxx> :::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki