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 <a...@linux.intel.com>
:::::: CC: Linus Torvalds <torva...@linux-foundation.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to