linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [vfs:hch.aio 7/40] include/linux/syscalls.h:233:18: warning: 'sys_io_pgetevents' alias between functions of incompatible types 'long int(aio_context_t,  long int,  long int,  struct io_event *, struct timespec *, const struct __aio_sigset *)' and 'long int(long int,  long int,  long int,  long int,  long int,  long int)'
@ 2018-05-29  3:12 kbuild test robot
  2018-05-29  7:20 ` Christoph Hellwig
  0 siblings, 1 reply; 8+ messages in thread
From: kbuild test robot @ 2018-05-29  3:12 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: kbuild-all, linux-fsdevel, Greg Kroah-Hartman, Darrick J. Wong

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

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git hch.aio
head:   89b310a2b28dafbf3958e292785d51b7017da19e
commit: 7a074e96dee62586c935c80cecd931431bfdd0be [7/40] aio: implement io_pgetevents
config: i386-randconfig-c0-05290848 (attached as .config)
compiler: gcc-8 (Debian 8.1.0-3) 8.1.0
reproduce:
        git checkout 7a074e96dee62586c935c80cecd931431bfdd0be
        # save the attached .config to linux build tree
        make ARCH=i386 

All warnings (new ones prefixed by >>):

   In file included from fs/aio.c:19:
   include/linux/syscalls.h:233:18: warning: 'sys_io_setup' alias between functions of incompatible types 'long int(unsigned int,  aio_context_t *)' and 'long int(long int,  long int)' [-Wattribute-alias]
     asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
                     ^~~
   include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
     __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
     ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:212:36: note: in expansion of macro 'SYSCALL_DEFINEx'
    #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__)
                                       ^~~~~~~~~~~~~~~
   fs/aio.c:1322:1: note: in expansion of macro 'SYSCALL_DEFINE2'
    SYSCALL_DEFINE2(io_setup, unsigned, nr_events, aio_context_t __user *, ctxp)
    ^~~~~~~~~~~~~~~
   include/linux/syscalls.h:238:18: note: aliased declaration here
     asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
                     ^~~~~~~~
   include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
     __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
     ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:212:36: note: in expansion of macro 'SYSCALL_DEFINEx'
    #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__)
                                       ^~~~~~~~~~~~~~~
   fs/aio.c:1322:1: note: in expansion of macro 'SYSCALL_DEFINE2'
    SYSCALL_DEFINE2(io_setup, unsigned, nr_events, aio_context_t __user *, ctxp)
    ^~~~~~~~~~~~~~~
>> include/linux/syscalls.h:233:18: warning: 'sys_io_pgetevents' alias between functions of incompatible types 'long int(aio_context_t,  long int,  long int,  struct io_event *, struct timespec *, const struct __aio_sigset *)' and 'long int(long int,  long int,  long int,  long int,  long int,  long int)' [-Wattribute-alias]
     asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
                     ^~~
   include/linux/syscalls.h:222: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_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__)
                                       ^~~~~~~~~~~~~~~
   fs/aio.c:1931:1: note: in expansion of macro 'SYSCALL_DEFINE6'
    SYSCALL_DEFINE6(io_pgetevents,
    ^~~~~~~~~~~~~~~
   include/linux/syscalls.h:238:18: note: aliased declaration here
     asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
                     ^~~~~~~~
   include/linux/syscalls.h:222: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_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__)
                                       ^~~~~~~~~~~~~~~
   fs/aio.c:1931:1: note: in expansion of macro 'SYSCALL_DEFINE6'
    SYSCALL_DEFINE6(io_pgetevents,
    ^~~~~~~~~~~~~~~
   include/linux/syscalls.h:233:18: warning: 'sys_io_getevents' alias between functions of incompatible types 'long int(aio_context_t,  long int,  long int,  struct io_event *, struct timespec *)' and 'long int(long int,  long int,  long int,  long int,  long int)' [-Wattribute-alias]
     asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
                     ^~~
   include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
     __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
     ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:215:36: note: in expansion of macro 'SYSCALL_DEFINEx'
    #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__)
                                       ^~~~~~~~~~~~~~~
   fs/aio.c:1913:1: note: in expansion of macro 'SYSCALL_DEFINE5'
    SYSCALL_DEFINE5(io_getevents, aio_context_t, ctx_id,
    ^~~~~~~~~~~~~~~
   include/linux/syscalls.h:238:18: note: aliased declaration here
     asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
                     ^~~~~~~~
   include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
     __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
     ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:215:36: note: in expansion of macro 'SYSCALL_DEFINEx'
    #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__)
                                       ^~~~~~~~~~~~~~~
   fs/aio.c:1913:1: note: in expansion of macro 'SYSCALL_DEFINE5'
    SYSCALL_DEFINE5(io_getevents, aio_context_t, ctx_id,
    ^~~~~~~~~~~~~~~
   include/linux/syscalls.h:233:18: warning: 'sys_io_cancel' alias between functions of incompatible types 'long int(aio_context_t,  struct iocb *, struct io_event *)' and 'long int(long int,  long int,  long int)' [-Wattribute-alias]
     asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
                     ^~~
   include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
     __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
     ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:213:36: note: in expansion of macro 'SYSCALL_DEFINEx'
    #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
                                       ^~~~~~~~~~~~~~~
   fs/aio.c:1842:1: note: in expansion of macro 'SYSCALL_DEFINE3'
    SYSCALL_DEFINE3(io_cancel, aio_context_t, ctx_id, struct iocb __user *, iocb,
    ^~~~~~~~~~~~~~~
   include/linux/syscalls.h:238:18: note: aliased declaration here
     asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
                     ^~~~~~~~
   include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
     __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
     ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:213:36: note: in expansion of macro 'SYSCALL_DEFINEx'
    #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
                                       ^~~~~~~~~~~~~~~
   fs/aio.c:1842:1: note: in expansion of macro 'SYSCALL_DEFINE3'
    SYSCALL_DEFINE3(io_cancel, aio_context_t, ctx_id, struct iocb __user *, iocb,
    ^~~~~~~~~~~~~~~
   include/linux/syscalls.h:233:18: warning: 'sys_io_submit' alias between functions of incompatible types 'long int(aio_context_t,  long int,  struct iocb **)' and 'long int(long int,  long int,  long int)' [-Wattribute-alias]
     asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
                     ^~~
   include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
     __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
     ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:213:36: note: in expansion of macro 'SYSCALL_DEFINEx'
    #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
                                       ^~~~~~~~~~~~~~~
   fs/aio.c:1767:1: note: in expansion of macro 'SYSCALL_DEFINE3'
    SYSCALL_DEFINE3(io_submit, aio_context_t, ctx_id, long, nr,
    ^~~~~~~~~~~~~~~
   include/linux/syscalls.h:238:18: note: aliased declaration here
     asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
                     ^~~~~~~~
   include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
     __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
     ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:213:36: note: in expansion of macro 'SYSCALL_DEFINEx'
    #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
                                       ^~~~~~~~~~~~~~~
   fs/aio.c:1767:1: note: in expansion of macro 'SYSCALL_DEFINE3'
    SYSCALL_DEFINE3(io_submit, aio_context_t, ctx_id, long, nr,
    ^~~~~~~~~~~~~~~
   include/linux/syscalls.h:233:18: warning: 'sys_io_destroy' alias between functions of incompatible types 'long int(aio_context_t)' and 'long int(long int)' [-Wattribute-alias]
     asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
                     ^~~
   include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
     __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)

vim +233 include/linux/syscalls.h

609320c8a Yonghong Song       2017-09-07  219  
bed1ffca0 Frederic Weisbecker 2009-03-13  220  #define SYSCALL_DEFINEx(x, sname, ...)				\
99e621f79 Al Viro             2013-03-05  221  	SYSCALL_METADATA(sname, x, __VA_ARGS__)			\
bed1ffca0 Frederic Weisbecker 2009-03-13 @222  	__SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
bed1ffca0 Frederic Weisbecker 2009-03-13  223  
2cf096668 Al Viro             2013-01-21  224  #define __PROTECT(...) asmlinkage_protect(__VA_ARGS__)
1bd21c6c2 Dominik Brodowski   2018-04-05  225  
e145242ea Dominik Brodowski   2018-04-09  226  /*
e145242ea Dominik Brodowski   2018-04-09  227   * The asmlinkage stub is aliased to a function named __se_sys_*() which
e145242ea Dominik Brodowski   2018-04-09  228   * sign-extends 32-bit ints to longs whenever needed. The actual work is
e145242ea Dominik Brodowski   2018-04-09  229   * done within __do_sys_*().
e145242ea Dominik Brodowski   2018-04-09  230   */
1bd21c6c2 Dominik Brodowski   2018-04-05  231  #ifndef __SYSCALL_DEFINEx
bed1ffca0 Frederic Weisbecker 2009-03-13  232  #define __SYSCALL_DEFINEx(x, name, ...)					\
83460ec8d Andi Kleen          2013-11-12 @233  	asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))	\
e145242ea Dominik Brodowski   2018-04-09  234  		__attribute__((alias(__stringify(__se_sys##name))));	\
c9a211951 Howard McLauchlan   2018-03-21  235  	ALLOW_ERROR_INJECTION(sys##name, ERRNO);			\
e145242ea Dominik Brodowski   2018-04-09  236  	static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));\
e145242ea Dominik Brodowski   2018-04-09  237  	asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__));	\
e145242ea Dominik Brodowski   2018-04-09  238  	asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__))	\
1a94bc347 Heiko Carstens      2009-01-14  239  	{								\
e145242ea Dominik Brodowski   2018-04-09  240  		long ret = __do_sys##name(__MAP(x,__SC_CAST,__VA_ARGS__));\
07fe6e00f Al Viro             2013-01-21  241  		__MAP(x,__SC_TEST,__VA_ARGS__);				\
2cf096668 Al Viro             2013-01-21  242  		__PROTECT(x, ret,__MAP(x,__SC_ARGS,__VA_ARGS__));	\
2cf096668 Al Viro             2013-01-21  243  		return ret;						\
1a94bc347 Heiko Carstens      2009-01-14  244  	}								\
e145242ea Dominik Brodowski   2018-04-09  245  	static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))
1bd21c6c2 Dominik Brodowski   2018-04-05  246  #endif /* __SYSCALL_DEFINEx */
1a94bc347 Heiko Carstens      2009-01-14  247  

:::::: The code at line 233 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 kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

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

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

* Re: [vfs:hch.aio 7/40] include/linux/syscalls.h:233:18: warning: 'sys_io_pgetevents' alias between functions of incompatible types 'long int(aio_context_t,  long int,  long int,  struct io_event *, struct timespec *, const struct __aio_sigset *)' and 'long int(long int,  long int,  long int,  long int,  long int,  long int)'
  2018-05-29  3:12 [vfs:hch.aio 7/40] include/linux/syscalls.h:233:18: warning: 'sys_io_pgetevents' alias between functions of incompatible types 'long int(aio_context_t, long int, long int, struct io_event *, struct timespec *, const struct __aio_sigset *)' and 'long int(long int, long int, long int, long int, long int, long int)' kbuild test robot
@ 2018-05-29  7:20 ` Christoph Hellwig
  2018-05-29  7:20   ` Greg Kroah-Hartman
  0 siblings, 1 reply; 8+ messages in thread
From: Christoph Hellwig @ 2018-05-29  7:20 UTC (permalink / raw)
  To: kbuild test robot
  Cc: Christoph Hellwig, kbuild-all, linux-fsdevel, Greg Kroah-Hartman,
	Darrick J. Wong, viro, x86

I'm not seeing anything like this in my i386 builds.  Is this
something new in gcc 8.1?  Also it seems deeply hidden in the syscall
macros, so I might need some help understanding those.

On Tue, May 29, 2018 at 11:12:31AM +0800, kbuild test robot wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git hch.aio
> head:   89b310a2b28dafbf3958e292785d51b7017da19e
> commit: 7a074e96dee62586c935c80cecd931431bfdd0be [7/40] aio: implement io_pgetevents
> config: i386-randconfig-c0-05290848 (attached as .config)
> compiler: gcc-8 (Debian 8.1.0-3) 8.1.0
> reproduce:
>         git checkout 7a074e96dee62586c935c80cecd931431bfdd0be
>         # save the attached .config to linux build tree
>         make ARCH=i386 
> 
> All warnings (new ones prefixed by >>):
> 
>    In file included from fs/aio.c:19:
>    include/linux/syscalls.h:233:18: warning: 'sys_io_setup' alias between functions of incompatible types 'long int(unsigned int,  aio_context_t *)' and 'long int(long int,  long int)' [-Wattribute-alias]
>      asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
>                      ^~~
>    include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:212:36: note: in expansion of macro 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    fs/aio.c:1322:1: note: in expansion of macro 'SYSCALL_DEFINE2'
>     SYSCALL_DEFINE2(io_setup, unsigned, nr_events, aio_context_t __user *, ctxp)
>     ^~~~~~~~~~~~~~~
>    include/linux/syscalls.h:238:18: note: aliased declaration here
>      asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
>                      ^~~~~~~~
>    include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:212:36: note: in expansion of macro 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    fs/aio.c:1322:1: note: in expansion of macro 'SYSCALL_DEFINE2'
>     SYSCALL_DEFINE2(io_setup, unsigned, nr_events, aio_context_t __user *, ctxp)
>     ^~~~~~~~~~~~~~~
> >> include/linux/syscalls.h:233:18: warning: 'sys_io_pgetevents' alias between functions of incompatible types 'long int(aio_context_t,  long int,  long int,  struct io_event *, struct timespec *, const struct __aio_sigset *)' and 'long int(long int,  long int,  long int,  long int,  long int,  long int)' [-Wattribute-alias]
>      asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
>                      ^~~
>    include/linux/syscalls.h:222: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_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    fs/aio.c:1931:1: note: in expansion of macro 'SYSCALL_DEFINE6'
>     SYSCALL_DEFINE6(io_pgetevents,
>     ^~~~~~~~~~~~~~~
>    include/linux/syscalls.h:238:18: note: aliased declaration here
>      asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
>                      ^~~~~~~~
>    include/linux/syscalls.h:222: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_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    fs/aio.c:1931:1: note: in expansion of macro 'SYSCALL_DEFINE6'
>     SYSCALL_DEFINE6(io_pgetevents,
>     ^~~~~~~~~~~~~~~
>    include/linux/syscalls.h:233:18: warning: 'sys_io_getevents' alias between functions of incompatible types 'long int(aio_context_t,  long int,  long int,  struct io_event *, struct timespec *)' and 'long int(long int,  long int,  long int,  long int,  long int)' [-Wattribute-alias]
>      asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
>                      ^~~
>    include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:215:36: note: in expansion of macro 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    fs/aio.c:1913:1: note: in expansion of macro 'SYSCALL_DEFINE5'
>     SYSCALL_DEFINE5(io_getevents, aio_context_t, ctx_id,
>     ^~~~~~~~~~~~~~~
>    include/linux/syscalls.h:238:18: note: aliased declaration here
>      asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
>                      ^~~~~~~~
>    include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:215:36: note: in expansion of macro 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    fs/aio.c:1913:1: note: in expansion of macro 'SYSCALL_DEFINE5'
>     SYSCALL_DEFINE5(io_getevents, aio_context_t, ctx_id,
>     ^~~~~~~~~~~~~~~
>    include/linux/syscalls.h:233:18: warning: 'sys_io_cancel' alias between functions of incompatible types 'long int(aio_context_t,  struct iocb *, struct io_event *)' and 'long int(long int,  long int,  long int)' [-Wattribute-alias]
>      asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
>                      ^~~
>    include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:213:36: note: in expansion of macro 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    fs/aio.c:1842:1: note: in expansion of macro 'SYSCALL_DEFINE3'
>     SYSCALL_DEFINE3(io_cancel, aio_context_t, ctx_id, struct iocb __user *, iocb,
>     ^~~~~~~~~~~~~~~
>    include/linux/syscalls.h:238:18: note: aliased declaration here
>      asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
>                      ^~~~~~~~
>    include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:213:36: note: in expansion of macro 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    fs/aio.c:1842:1: note: in expansion of macro 'SYSCALL_DEFINE3'
>     SYSCALL_DEFINE3(io_cancel, aio_context_t, ctx_id, struct iocb __user *, iocb,
>     ^~~~~~~~~~~~~~~
>    include/linux/syscalls.h:233:18: warning: 'sys_io_submit' alias between functions of incompatible types 'long int(aio_context_t,  long int,  struct iocb **)' and 'long int(long int,  long int,  long int)' [-Wattribute-alias]
>      asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
>                      ^~~
>    include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:213:36: note: in expansion of macro 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    fs/aio.c:1767:1: note: in expansion of macro 'SYSCALL_DEFINE3'
>     SYSCALL_DEFINE3(io_submit, aio_context_t, ctx_id, long, nr,
>     ^~~~~~~~~~~~~~~
>    include/linux/syscalls.h:238:18: note: aliased declaration here
>      asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
>                      ^~~~~~~~
>    include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:213:36: note: in expansion of macro 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    fs/aio.c:1767:1: note: in expansion of macro 'SYSCALL_DEFINE3'
>     SYSCALL_DEFINE3(io_submit, aio_context_t, ctx_id, long, nr,
>     ^~~~~~~~~~~~~~~
>    include/linux/syscalls.h:233:18: warning: 'sys_io_destroy' alias between functions of incompatible types 'long int(aio_context_t)' and 'long int(long int)' [-Wattribute-alias]
>      asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
>                      ^~~
>    include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
> 
> vim +233 include/linux/syscalls.h
> 
> 609320c8a Yonghong Song       2017-09-07  219  
> bed1ffca0 Frederic Weisbecker 2009-03-13  220  #define SYSCALL_DEFINEx(x, sname, ...)				\
> 99e621f79 Al Viro             2013-03-05  221  	SYSCALL_METADATA(sname, x, __VA_ARGS__)			\
> bed1ffca0 Frederic Weisbecker 2009-03-13 @222  	__SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
> bed1ffca0 Frederic Weisbecker 2009-03-13  223  
> 2cf096668 Al Viro             2013-01-21  224  #define __PROTECT(...) asmlinkage_protect(__VA_ARGS__)
> 1bd21c6c2 Dominik Brodowski   2018-04-05  225  
> e145242ea Dominik Brodowski   2018-04-09  226  /*
> e145242ea Dominik Brodowski   2018-04-09  227   * The asmlinkage stub is aliased to a function named __se_sys_*() which
> e145242ea Dominik Brodowski   2018-04-09  228   * sign-extends 32-bit ints to longs whenever needed. The actual work is
> e145242ea Dominik Brodowski   2018-04-09  229   * done within __do_sys_*().
> e145242ea Dominik Brodowski   2018-04-09  230   */
> 1bd21c6c2 Dominik Brodowski   2018-04-05  231  #ifndef __SYSCALL_DEFINEx
> bed1ffca0 Frederic Weisbecker 2009-03-13  232  #define __SYSCALL_DEFINEx(x, name, ...)					\
> 83460ec8d Andi Kleen          2013-11-12 @233  	asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))	\
> e145242ea Dominik Brodowski   2018-04-09  234  		__attribute__((alias(__stringify(__se_sys##name))));	\
> c9a211951 Howard McLauchlan   2018-03-21  235  	ALLOW_ERROR_INJECTION(sys##name, ERRNO);			\
> e145242ea Dominik Brodowski   2018-04-09  236  	static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));\
> e145242ea Dominik Brodowski   2018-04-09  237  	asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__));	\
> e145242ea Dominik Brodowski   2018-04-09  238  	asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__))	\
> 1a94bc347 Heiko Carstens      2009-01-14  239  	{								\
> e145242ea Dominik Brodowski   2018-04-09  240  		long ret = __do_sys##name(__MAP(x,__SC_CAST,__VA_ARGS__));\
> 07fe6e00f Al Viro             2013-01-21  241  		__MAP(x,__SC_TEST,__VA_ARGS__);				\
> 2cf096668 Al Viro             2013-01-21  242  		__PROTECT(x, ret,__MAP(x,__SC_ARGS,__VA_ARGS__));	\
> 2cf096668 Al Viro             2013-01-21  243  		return ret;						\
> 1a94bc347 Heiko Carstens      2009-01-14  244  	}								\
> e145242ea Dominik Brodowski   2018-04-09  245  	static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))
> 1bd21c6c2 Dominik Brodowski   2018-04-05  246  #endif /* __SYSCALL_DEFINEx */
> 1a94bc347 Heiko Carstens      2009-01-14  247  
> 
> :::::: The code at line 233 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 kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation


---end quoted text---

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

* Re: [vfs:hch.aio 7/40] include/linux/syscalls.h:233:18: warning: 'sys_io_pgetevents' alias between functions of incompatible types 'long int(aio_context_t,  long int,  long int,  struct io_event *, struct timespec *, const struct __aio_sigset *)' and 'long int(long int,  long int,  long int,  long int,  long int,  long int)'
  2018-05-29  7:20 ` Christoph Hellwig
@ 2018-05-29  7:20   ` Greg Kroah-Hartman
  2018-05-29  8:05     ` [kbuild-all] " Philip Li
  0 siblings, 1 reply; 8+ messages in thread
From: Greg Kroah-Hartman @ 2018-05-29  7:20 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: kbuild test robot, kbuild-all, linux-fsdevel, Darrick J. Wong, viro, x86

On Tue, May 29, 2018 at 09:20:01AM +0200, Christoph Hellwig wrote:
> I'm not seeing anything like this in my i386 builds.  Is this
> something new in gcc 8.1?  Also it seems deeply hidden in the syscall
> macros, so I might need some help understanding those.
> 
> On Tue, May 29, 2018 at 11:12:31AM +0800, kbuild test robot wrote:
> > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git hch.aio
> > head:   89b310a2b28dafbf3958e292785d51b7017da19e
> > commit: 7a074e96dee62586c935c80cecd931431bfdd0be [7/40] aio: implement io_pgetevents
> > config: i386-randconfig-c0-05290848 (attached as .config)
> > compiler: gcc-8 (Debian 8.1.0-3) 8.1.0
> > reproduce:
> >         git checkout 7a074e96dee62586c935c80cecd931431bfdd0be
> >         # save the attached .config to linux build tree
> >         make ARCH=i386 
> > 
> > All warnings (new ones prefixed by >>):
> > 
> >    In file included from fs/aio.c:19:
> >    include/linux/syscalls.h:233:18: warning: 'sys_io_setup' alias between functions of incompatible types 'long int(unsigned int,  aio_context_t *)' and 'long int(long int,  long int)' [-Wattribute-alias]
> >      asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
> >                      ^~~
> >    include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
> >      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
> >      ^~~~~~~~~~~~~~~~~
> >    include/linux/syscalls.h:212:36: note: in expansion of macro 'SYSCALL_DEFINEx'
> >     #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__)
> >                                        ^~~~~~~~~~~~~~~
> >    fs/aio.c:1322:1: note: in expansion of macro 'SYSCALL_DEFINE2'
> >     SYSCALL_DEFINE2(io_setup, unsigned, nr_events, aio_context_t __user *, ctxp)
> >     ^~~~~~~~~~~~~~~
> >    include/linux/syscalls.h:238:18: note: aliased declaration here
> >      asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
> >                      ^~~~~~~~
> >    include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
> >      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
> >      ^~~~~~~~~~~~~~~~~
> >    include/linux/syscalls.h:212:36: note: in expansion of macro 'SYSCALL_DEFINEx'
> >     #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__)
> >                                        ^~~~~~~~~~~~~~~
> >    fs/aio.c:1322:1: note: in expansion of macro 'SYSCALL_DEFINE2'
> >     SYSCALL_DEFINE2(io_setup, unsigned, nr_events, aio_context_t __user *, ctxp)
> >     ^~~~~~~~~~~~~~~
> > >> include/linux/syscalls.h:233:18: warning: 'sys_io_pgetevents' alias between functions of incompatible types 'long int(aio_context_t,  long int,  long int,  struct io_event *, struct timespec *, const struct __aio_sigset *)' and 'long int(long int,  long int,  long int,  long int,  long int,  long int)' [-Wattribute-alias]
> >      asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
> >                      ^~~
> >    include/linux/syscalls.h:222: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_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__)
> >                                        ^~~~~~~~~~~~~~~
> >    fs/aio.c:1931:1: note: in expansion of macro 'SYSCALL_DEFINE6'
> >     SYSCALL_DEFINE6(io_pgetevents,
> >     ^~~~~~~~~~~~~~~
> >    include/linux/syscalls.h:238:18: note: aliased declaration here
> >      asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
> >                      ^~~~~~~~
> >    include/linux/syscalls.h:222: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_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__)
> >                                        ^~~~~~~~~~~~~~~
> >    fs/aio.c:1931:1: note: in expansion of macro 'SYSCALL_DEFINE6'
> >     SYSCALL_DEFINE6(io_pgetevents,
> >     ^~~~~~~~~~~~~~~
> >    include/linux/syscalls.h:233:18: warning: 'sys_io_getevents' alias between functions of incompatible types 'long int(aio_context_t,  long int,  long int,  struct io_event *, struct timespec *)' and 'long int(long int,  long int,  long int,  long int,  long int)' [-Wattribute-alias]
> >      asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
> >                      ^~~
> >    include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
> >      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
> >      ^~~~~~~~~~~~~~~~~
> >    include/linux/syscalls.h:215:36: note: in expansion of macro 'SYSCALL_DEFINEx'
> >     #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__)
> >                                        ^~~~~~~~~~~~~~~
> >    fs/aio.c:1913:1: note: in expansion of macro 'SYSCALL_DEFINE5'
> >     SYSCALL_DEFINE5(io_getevents, aio_context_t, ctx_id,
> >     ^~~~~~~~~~~~~~~
> >    include/linux/syscalls.h:238:18: note: aliased declaration here
> >      asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
> >                      ^~~~~~~~
> >    include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
> >      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
> >      ^~~~~~~~~~~~~~~~~
> >    include/linux/syscalls.h:215:36: note: in expansion of macro 'SYSCALL_DEFINEx'
> >     #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__)
> >                                        ^~~~~~~~~~~~~~~
> >    fs/aio.c:1913:1: note: in expansion of macro 'SYSCALL_DEFINE5'
> >     SYSCALL_DEFINE5(io_getevents, aio_context_t, ctx_id,
> >     ^~~~~~~~~~~~~~~
> >    include/linux/syscalls.h:233:18: warning: 'sys_io_cancel' alias between functions of incompatible types 'long int(aio_context_t,  struct iocb *, struct io_event *)' and 'long int(long int,  long int,  long int)' [-Wattribute-alias]
> >      asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
> >                      ^~~
> >    include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
> >      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
> >      ^~~~~~~~~~~~~~~~~
> >    include/linux/syscalls.h:213:36: note: in expansion of macro 'SYSCALL_DEFINEx'
> >     #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
> >                                        ^~~~~~~~~~~~~~~
> >    fs/aio.c:1842:1: note: in expansion of macro 'SYSCALL_DEFINE3'
> >     SYSCALL_DEFINE3(io_cancel, aio_context_t, ctx_id, struct iocb __user *, iocb,
> >     ^~~~~~~~~~~~~~~
> >    include/linux/syscalls.h:238:18: note: aliased declaration here
> >      asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
> >                      ^~~~~~~~
> >    include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
> >      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
> >      ^~~~~~~~~~~~~~~~~
> >    include/linux/syscalls.h:213:36: note: in expansion of macro 'SYSCALL_DEFINEx'
> >     #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
> >                                        ^~~~~~~~~~~~~~~
> >    fs/aio.c:1842:1: note: in expansion of macro 'SYSCALL_DEFINE3'
> >     SYSCALL_DEFINE3(io_cancel, aio_context_t, ctx_id, struct iocb __user *, iocb,
> >     ^~~~~~~~~~~~~~~
> >    include/linux/syscalls.h:233:18: warning: 'sys_io_submit' alias between functions of incompatible types 'long int(aio_context_t,  long int,  struct iocb **)' and 'long int(long int,  long int,  long int)' [-Wattribute-alias]
> >      asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
> >                      ^~~
> >    include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
> >      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
> >      ^~~~~~~~~~~~~~~~~
> >    include/linux/syscalls.h:213:36: note: in expansion of macro 'SYSCALL_DEFINEx'
> >     #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
> >                                        ^~~~~~~~~~~~~~~
> >    fs/aio.c:1767:1: note: in expansion of macro 'SYSCALL_DEFINE3'
> >     SYSCALL_DEFINE3(io_submit, aio_context_t, ctx_id, long, nr,
> >     ^~~~~~~~~~~~~~~
> >    include/linux/syscalls.h:238:18: note: aliased declaration here
> >      asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
> >                      ^~~~~~~~
> >    include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
> >      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
> >      ^~~~~~~~~~~~~~~~~
> >    include/linux/syscalls.h:213:36: note: in expansion of macro 'SYSCALL_DEFINEx'
> >     #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
> >                                        ^~~~~~~~~~~~~~~
> >    fs/aio.c:1767:1: note: in expansion of macro 'SYSCALL_DEFINE3'
> >     SYSCALL_DEFINE3(io_submit, aio_context_t, ctx_id, long, nr,
> >     ^~~~~~~~~~~~~~~
> >    include/linux/syscalls.h:233:18: warning: 'sys_io_destroy' alias between functions of incompatible types 'long int(aio_context_t)' and 'long int(long int)' [-Wattribute-alias]
> >      asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
> >                      ^~~
> >    include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
> >      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)

I was seeing this type of mess when trying to build with gcc-8.1, and
could not figure it out either.  So I just gave up and went back to
gcc-7 for the time being.  I don't think it's anything new you did here.

thanks,

greg k-h

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

* Re: [kbuild-all] [vfs:hch.aio 7/40] include/linux/syscalls.h:233:18: warning: 'sys_io_pgetevents' alias between functions of incompatible types 'long int(aio_context_t, long int, long int, struct io_event *, struct timespec *, const struct __aio_sigset *)' and 'long int(long int, long int, long int, long int, long int, long int)'
  2018-05-29  7:20   ` Greg Kroah-Hartman
@ 2018-05-29  8:05     ` Philip Li
  2018-05-29 11:29       ` Matthew Wilcox
  0 siblings, 1 reply; 8+ messages in thread
From: Philip Li @ 2018-05-29  8:05 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Christoph Hellwig, kbuild test robot, Darrick J. Wong, x86, viro,
	linux-fsdevel, kbuild-all

On Tue, May 29, 2018 at 09:20:24AM +0200, Greg Kroah-Hartman wrote:
> On Tue, May 29, 2018 at 09:20:01AM +0200, Christoph Hellwig wrote:
> > I'm not seeing anything like this in my i386 builds.  Is this
> > something new in gcc 8.1?  Also it seems deeply hidden in the syscall
> > macros, so I might need some help understanding those.
> > 
> > On Tue, May 29, 2018 at 11:12:31AM +0800, kbuild test robot wrote:
> > > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git hch.aio
> > > head:   89b310a2b28dafbf3958e292785d51b7017da19e
> > > commit: 7a074e96dee62586c935c80cecd931431bfdd0be [7/40] aio: implement io_pgetevents
> > > config: i386-randconfig-c0-05290848 (attached as .config)
> > > compiler: gcc-8 (Debian 8.1.0-3) 8.1.0
> > > reproduce:
> > >         git checkout 7a074e96dee62586c935c80cecd931431bfdd0be
> > >         # save the attached .config to linux build tree
> > >         make ARCH=i386 
> > > 
> > > All warnings (new ones prefixed by >>):
> > > 
> > >    In file included from fs/aio.c:19:
> > >    include/linux/syscalls.h:233:18: warning: 'sys_io_setup' alias between functions of incompatible types 'long int(unsigned int,  aio_context_t *)' and 'long int(long int,  long int)' [-Wattribute-alias]
> > >      asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
> > >                      ^~~
> > >    include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
> > >      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
> > >      ^~~~~~~~~~~~~~~~~
> > >    include/linux/syscalls.h:212:36: note: in expansion of macro 'SYSCALL_DEFINEx'
> > >     #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__)
> > >                                        ^~~~~~~~~~~~~~~
> > >    fs/aio.c:1322:1: note: in expansion of macro 'SYSCALL_DEFINE2'
> > >     SYSCALL_DEFINE2(io_setup, unsigned, nr_events, aio_context_t __user *, ctxp)
> > >     ^~~~~~~~~~~~~~~
> > >    include/linux/syscalls.h:238:18: note: aliased declaration here
> > >      asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
> > >                      ^~~~~~~~
> > >    include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
> > >      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
> > >      ^~~~~~~~~~~~~~~~~
> > >    include/linux/syscalls.h:212:36: note: in expansion of macro 'SYSCALL_DEFINEx'
> > >     #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__)
> > >                                        ^~~~~~~~~~~~~~~
> > >    fs/aio.c:1322:1: note: in expansion of macro 'SYSCALL_DEFINE2'
> > >     SYSCALL_DEFINE2(io_setup, unsigned, nr_events, aio_context_t __user *, ctxp)
> > >     ^~~~~~~~~~~~~~~
> > > >> include/linux/syscalls.h:233:18: warning: 'sys_io_pgetevents' alias between functions of incompatible types 'long int(aio_context_t,  long int,  long int,  struct io_event *, struct timespec *, const struct __aio_sigset *)' and 'long int(long int,  long int,  long int,  long int,  long int,  long int)' [-Wattribute-alias]
> > >      asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
> > >                      ^~~
> > >    include/linux/syscalls.h:222: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_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__)
> > >                                        ^~~~~~~~~~~~~~~
> > >    fs/aio.c:1931:1: note: in expansion of macro 'SYSCALL_DEFINE6'
> > >     SYSCALL_DEFINE6(io_pgetevents,
> > >     ^~~~~~~~~~~~~~~
> > >    include/linux/syscalls.h:238:18: note: aliased declaration here
> > >      asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
> > >                      ^~~~~~~~
> > >    include/linux/syscalls.h:222: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_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__)
> > >                                        ^~~~~~~~~~~~~~~
> > >    fs/aio.c:1931:1: note: in expansion of macro 'SYSCALL_DEFINE6'
> > >     SYSCALL_DEFINE6(io_pgetevents,
> > >     ^~~~~~~~~~~~~~~
> > >    include/linux/syscalls.h:233:18: warning: 'sys_io_getevents' alias between functions of incompatible types 'long int(aio_context_t,  long int,  long int,  struct io_event *, struct timespec *)' and 'long int(long int,  long int,  long int,  long int,  long int)' [-Wattribute-alias]
> > >      asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
> > >                      ^~~
> > >    include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
> > >      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
> > >      ^~~~~~~~~~~~~~~~~
> > >    include/linux/syscalls.h:215:36: note: in expansion of macro 'SYSCALL_DEFINEx'
> > >     #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__)
> > >                                        ^~~~~~~~~~~~~~~
> > >    fs/aio.c:1913:1: note: in expansion of macro 'SYSCALL_DEFINE5'
> > >     SYSCALL_DEFINE5(io_getevents, aio_context_t, ctx_id,
> > >     ^~~~~~~~~~~~~~~
> > >    include/linux/syscalls.h:238:18: note: aliased declaration here
> > >      asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
> > >                      ^~~~~~~~
> > >    include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
> > >      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
> > >      ^~~~~~~~~~~~~~~~~
> > >    include/linux/syscalls.h:215:36: note: in expansion of macro 'SYSCALL_DEFINEx'
> > >     #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__)
> > >                                        ^~~~~~~~~~~~~~~
> > >    fs/aio.c:1913:1: note: in expansion of macro 'SYSCALL_DEFINE5'
> > >     SYSCALL_DEFINE5(io_getevents, aio_context_t, ctx_id,
> > >     ^~~~~~~~~~~~~~~
> > >    include/linux/syscalls.h:233:18: warning: 'sys_io_cancel' alias between functions of incompatible types 'long int(aio_context_t,  struct iocb *, struct io_event *)' and 'long int(long int,  long int,  long int)' [-Wattribute-alias]
> > >      asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
> > >                      ^~~
> > >    include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
> > >      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
> > >      ^~~~~~~~~~~~~~~~~
> > >    include/linux/syscalls.h:213:36: note: in expansion of macro 'SYSCALL_DEFINEx'
> > >     #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
> > >                                        ^~~~~~~~~~~~~~~
> > >    fs/aio.c:1842:1: note: in expansion of macro 'SYSCALL_DEFINE3'
> > >     SYSCALL_DEFINE3(io_cancel, aio_context_t, ctx_id, struct iocb __user *, iocb,
> > >     ^~~~~~~~~~~~~~~
> > >    include/linux/syscalls.h:238:18: note: aliased declaration here
> > >      asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
> > >                      ^~~~~~~~
> > >    include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
> > >      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
> > >      ^~~~~~~~~~~~~~~~~
> > >    include/linux/syscalls.h:213:36: note: in expansion of macro 'SYSCALL_DEFINEx'
> > >     #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
> > >                                        ^~~~~~~~~~~~~~~
> > >    fs/aio.c:1842:1: note: in expansion of macro 'SYSCALL_DEFINE3'
> > >     SYSCALL_DEFINE3(io_cancel, aio_context_t, ctx_id, struct iocb __user *, iocb,
> > >     ^~~~~~~~~~~~~~~
> > >    include/linux/syscalls.h:233:18: warning: 'sys_io_submit' alias between functions of incompatible types 'long int(aio_context_t,  long int,  struct iocb **)' and 'long int(long int,  long int,  long int)' [-Wattribute-alias]
> > >      asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
> > >                      ^~~
> > >    include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
> > >      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
> > >      ^~~~~~~~~~~~~~~~~
> > >    include/linux/syscalls.h:213:36: note: in expansion of macro 'SYSCALL_DEFINEx'
> > >     #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
> > >                                        ^~~~~~~~~~~~~~~
> > >    fs/aio.c:1767:1: note: in expansion of macro 'SYSCALL_DEFINE3'
> > >     SYSCALL_DEFINE3(io_submit, aio_context_t, ctx_id, long, nr,
> > >     ^~~~~~~~~~~~~~~
> > >    include/linux/syscalls.h:238:18: note: aliased declaration here
> > >      asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
> > >                      ^~~~~~~~
> > >    include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
> > >      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
> > >      ^~~~~~~~~~~~~~~~~
> > >    include/linux/syscalls.h:213:36: note: in expansion of macro 'SYSCALL_DEFINEx'
> > >     #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
> > >                                        ^~~~~~~~~~~~~~~
> > >    fs/aio.c:1767:1: note: in expansion of macro 'SYSCALL_DEFINE3'
> > >     SYSCALL_DEFINE3(io_submit, aio_context_t, ctx_id, long, nr,
> > >     ^~~~~~~~~~~~~~~
> > >    include/linux/syscalls.h:233:18: warning: 'sys_io_destroy' alias between functions of incompatible types 'long int(aio_context_t)' and 'long int(long int)' [-Wattribute-alias]
> > >      asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
> > >                      ^~~
> > >    include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
> > >      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
> 
> I was seeing this type of mess when trying to build with gcc-8.1, and
> could not figure it out either.  So I just gave up and went back to
> gcc-7 for the time being.  I don't think it's anything new you did here.
thanks, we will follow up to exclude this pattern in report in bot side.

> 
> thanks,
> 
> greg k-h
> _______________________________________________
> kbuild-all mailing list
> kbuild-all@lists.01.org
> https://lists.01.org/mailman/listinfo/kbuild-all

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

* Re: [kbuild-all] [vfs:hch.aio 7/40] include/linux/syscalls.h:233:18: warning: 'sys_io_pgetevents' alias between functions of incompatible types 'long int(aio_context_t, long int, long int, struct io_event *, struct timespec *, const struct __aio_sigset *)' and 'long int(long int, long int, long int, long int, long int, long int)'
  2018-05-29  8:05     ` [kbuild-all] " Philip Li
@ 2018-05-29 11:29       ` Matthew Wilcox
  2018-05-29 13:00         ` Greg Kroah-Hartman
  2018-05-29 14:58         ` Philip Li
  0 siblings, 2 replies; 8+ messages in thread
From: Matthew Wilcox @ 2018-05-29 11:29 UTC (permalink / raw)
  To: Philip Li
  Cc: Greg Kroah-Hartman, Christoph Hellwig, kbuild test robot,
	Darrick J. Wong, x86, viro, linux-fsdevel, kbuild-all

On Tue, May 29, 2018 at 04:05:07PM +0800, Philip Li wrote:
> On Tue, May 29, 2018 at 09:20:24AM +0200, Greg Kroah-Hartman wrote:
> > I was seeing this type of mess when trying to build with gcc-8.1, and
> > could not figure it out either.  So I just gave up and went back to
> > gcc-7 for the time being.  I don't think it's anything new you did here.
> thanks, we will follow up to exclude this pattern in report in bot side.

I don't think that's the right solution here.  People just don't want
to see errors/warnings that they didn't introduce.  It'd be unfortunate
to start skipping warnings about syscalls entirely.

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

* Re: [kbuild-all] [vfs:hch.aio 7/40] include/linux/syscalls.h:233:18: warning: 'sys_io_pgetevents' alias between functions of incompatible types 'long int(aio_context_t, long int, long int, struct io_event *, struct timespec *, const struct __aio_sigset *)' and 'long int(long int, long int, long int, long int, long int, long int)'
  2018-05-29 11:29       ` Matthew Wilcox
@ 2018-05-29 13:00         ` Greg Kroah-Hartman
  2018-05-29 14:59           ` Philip Li
  2018-05-29 14:58         ` Philip Li
  1 sibling, 1 reply; 8+ messages in thread
From: Greg Kroah-Hartman @ 2018-05-29 13:00 UTC (permalink / raw)
  To: Matthew Wilcox
  Cc: Philip Li, Christoph Hellwig, kbuild test robot, Darrick J. Wong,
	x86, viro, linux-fsdevel, kbuild-all

On Tue, May 29, 2018 at 04:29:31AM -0700, Matthew Wilcox wrote:
> On Tue, May 29, 2018 at 04:05:07PM +0800, Philip Li wrote:
> > On Tue, May 29, 2018 at 09:20:24AM +0200, Greg Kroah-Hartman wrote:
> > > I was seeing this type of mess when trying to build with gcc-8.1, and
> > > could not figure it out either.  So I just gave up and went back to
> > > gcc-7 for the time being.  I don't think it's anything new you did here.
> > thanks, we will follow up to exclude this pattern in report in bot side.
> 
> I don't think that's the right solution here.  People just don't want
> to see errors/warnings that they didn't introduce.  It'd be unfortunate
> to start skipping warnings about syscalls entirely.

Can you build a kernel with gcc-8.1 right now?  I sure can not, these
warnings are all over the place...

greg k-h

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

* Re: [kbuild-all] [vfs:hch.aio 7/40] include/linux/syscalls.h:233:18: warning: 'sys_io_pgetevents' alias between functions of incompatible types 'long int(aio_context_t, long int, long int, struct io_event *, struct timespec *, const struct __aio_sigset *)' and 'long int(long int, long int, long int, long int, long int, long int)'
  2018-05-29 11:29       ` Matthew Wilcox
  2018-05-29 13:00         ` Greg Kroah-Hartman
@ 2018-05-29 14:58         ` Philip Li
  1 sibling, 0 replies; 8+ messages in thread
From: Philip Li @ 2018-05-29 14:58 UTC (permalink / raw)
  To: Matthew Wilcox
  Cc: Greg Kroah-Hartman, Christoph Hellwig, kbuild test robot,
	Darrick J. Wong, x86, viro, linux-fsdevel, kbuild-all

On Tue, May 29, 2018 at 04:29:31AM -0700, Matthew Wilcox wrote:
> On Tue, May 29, 2018 at 04:05:07PM +0800, Philip Li wrote:
> > On Tue, May 29, 2018 at 09:20:24AM +0200, Greg Kroah-Hartman wrote:
> > > I was seeing this type of mess when trying to build with gcc-8.1, and
> > > could not figure it out either.  So I just gave up and went back to
> > > gcc-7 for the time being.  I don't think it's anything new you did here.
> > thanks, we will follow up to exclude this pattern in report in bot side.
> 
> I don't think that's the right solution here.  People just don't want
> to see errors/warnings that they didn't introduce.  It'd be unfortunate
> to start skipping warnings about syscalls entirely.
this is valid concern. Usually when using new compiler, we will need tune
the bot a little to exclude certain issues, some are input by users. Of
course, we will limit pattern to be very specific to avoid missing real
issues. Based on feedback, i will switch back to gcc-7.3, and does more
homework to understand the diffs of gcc-8.1.

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

* Re: [kbuild-all] [vfs:hch.aio 7/40] include/linux/syscalls.h:233:18: warning: 'sys_io_pgetevents' alias between functions of incompatible types 'long int(aio_context_t, long int, long int, struct io_event *, struct timespec *, const struct __aio_sigset *)' and 'long int(long int, long int, long int, long int, long int, long int)'
  2018-05-29 13:00         ` Greg Kroah-Hartman
@ 2018-05-29 14:59           ` Philip Li
  0 siblings, 0 replies; 8+ messages in thread
From: Philip Li @ 2018-05-29 14:59 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Matthew Wilcox, Christoph Hellwig, kbuild test robot,
	Darrick J. Wong, x86, viro, linux-fsdevel, kbuild-all

On Tue, May 29, 2018 at 03:00:59PM +0200, Greg Kroah-Hartman wrote:
> On Tue, May 29, 2018 at 04:29:31AM -0700, Matthew Wilcox wrote:
> > On Tue, May 29, 2018 at 04:05:07PM +0800, Philip Li wrote:
> > > On Tue, May 29, 2018 at 09:20:24AM +0200, Greg Kroah-Hartman wrote:
> > > > I was seeing this type of mess when trying to build with gcc-8.1, and
> > > > could not figure it out either.  So I just gave up and went back to
> > > > gcc-7 for the time being.  I don't think it's anything new you did here.
> > > thanks, we will follow up to exclude this pattern in report in bot side.
> > 
> > I don't think that's the right solution here.  People just don't want
> > to see errors/warnings that they didn't introduce.  It'd be unfortunate
> > to start skipping warnings about syscalls entirely.
> 
> Can you build a kernel with gcc-8.1 right now?  I sure can not, these
> warnings are all over the place...
thanks for feedback, we will follow up to do more internal testing for gcc-8.1,
right now, will roll back to gcc-7.3.

> 
> greg k-h

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

end of thread, other threads:[~2018-05-29 14:49 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-29  3:12 [vfs:hch.aio 7/40] include/linux/syscalls.h:233:18: warning: 'sys_io_pgetevents' alias between functions of incompatible types 'long int(aio_context_t, long int, long int, struct io_event *, struct timespec *, const struct __aio_sigset *)' and 'long int(long int, long int, long int, long int, long int, long int)' kbuild test robot
2018-05-29  7:20 ` Christoph Hellwig
2018-05-29  7:20   ` Greg Kroah-Hartman
2018-05-29  8:05     ` [kbuild-all] " Philip Li
2018-05-29 11:29       ` Matthew Wilcox
2018-05-29 13:00         ` Greg Kroah-Hartman
2018-05-29 14:59           ` Philip Li
2018-05-29 14:58         ` Philip Li

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).