Hi Tycho, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.20-rc5 next-20181203] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Tycho-Andersen/seccomp-hoist-struct-seccomp_data-recalculation-higher/20181204-013450 config: i386-randconfig-x005-201848 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): In file included from kernel/seccomp.c:28:0: >> include/linux/syscalls.h:239:18: error: conflicting types for 'sys_seccomp' asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \ ^ include/linux/syscalls.h:225:2: note: in expansion of macro '__SYSCALL_DEFINEx' __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:216:36: note: in expansion of macro 'SYSCALL_DEFINEx' #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) ^~~~~~~~~~~~~~~ kernel/seccomp.c:946:1: note: in expansion of macro 'SYSCALL_DEFINE3' SYSCALL_DEFINE3(seccomp, unsigned int, op, unsigned int, flags, ^~~~~~~~~~~~~~~ In file included from kernel/seccomp.c:28:0: include/linux/syscalls.h:881:17: note: previous declaration of 'sys_seccomp' was here asmlinkage long sys_seccomp(unsigned int op, unsigned int flags, ^~~~~~~~~~~ vim +/sys_seccomp +239 include/linux/syscalls.h 1bd21c6c2 Dominik Brodowski 2018-04-05 228 e145242ea Dominik Brodowski 2018-04-09 229 /* e145242ea Dominik Brodowski 2018-04-09 230 * The asmlinkage stub is aliased to a function named __se_sys_*() which e145242ea Dominik Brodowski 2018-04-09 231 * sign-extends 32-bit ints to longs whenever needed. The actual work is e145242ea Dominik Brodowski 2018-04-09 232 * done within __do_sys_*(). e145242ea Dominik Brodowski 2018-04-09 233 */ 1bd21c6c2 Dominik Brodowski 2018-04-05 234 #ifndef __SYSCALL_DEFINEx bed1ffca0 Frederic Weisbecker 2009-03-13 235 #define __SYSCALL_DEFINEx(x, name, ...) \ bee200317 Arnd Bergmann 2018-06-19 236 __diag_push(); \ bee200317 Arnd Bergmann 2018-06-19 237 __diag_ignore(GCC, 8, "-Wattribute-alias", \ bee200317 Arnd Bergmann 2018-06-19 238 "Type aliasing is used to sanitize syscall arguments");\ 83460ec8d Andi Kleen 2013-11-12 @239 asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \ e145242ea Dominik Brodowski 2018-04-09 240 __attribute__((alias(__stringify(__se_sys##name)))); \ c9a211951 Howard McLauchlan 2018-03-21 241 ALLOW_ERROR_INJECTION(sys##name, ERRNO); \ e145242ea Dominik Brodowski 2018-04-09 242 static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));\ e145242ea Dominik Brodowski 2018-04-09 243 asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \ e145242ea Dominik Brodowski 2018-04-09 244 asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \ 1a94bc347 Heiko Carstens 2009-01-14 245 { \ e145242ea Dominik Brodowski 2018-04-09 246 long ret = __do_sys##name(__MAP(x,__SC_CAST,__VA_ARGS__));\ 07fe6e00f Al Viro 2013-01-21 247 __MAP(x,__SC_TEST,__VA_ARGS__); \ 2cf096668 Al Viro 2013-01-21 248 __PROTECT(x, ret,__MAP(x,__SC_ARGS,__VA_ARGS__)); \ 2cf096668 Al Viro 2013-01-21 249 return ret; \ 1a94bc347 Heiko Carstens 2009-01-14 250 } \ bee200317 Arnd Bergmann 2018-06-19 251 __diag_pop(); \ e145242ea Dominik Brodowski 2018-04-09 252 static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) 1bd21c6c2 Dominik Brodowski 2018-04-05 253 #endif /* __SYSCALL_DEFINEx */ 1a94bc347 Heiko Carstens 2009-01-14 254 :::::: The code at line 239 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 kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip