linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [linux-stable-rc:linux-4.14.y 3879/4798] ipc/mqueue.c:1531:1: note: in expansion of macro 'COMPAT_SYSCALL_DEFINE3'
@ 2018-05-29 16:17 kbuild test robot
  0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2018-05-29 16:17 UTC (permalink / raw)
  To: Sergey Senozhatsky
  Cc: kbuild-all, Greg Kroah-Hartman, Andrew Morton,
	Linux Memory Management List

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

Hi Sergey,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.14.y
head:   9fcb9d72e8a3a813caae6e2fac43a73603d75abd
commit: 8e99c881e497e7f7528f693c563e204ae888a846 [3879/4798] tools/lib/subcmd/pager.c: do not alias select() params
config: x86_64-acpi-redef (attached as .config)
compiler: gcc-8 (Debian 8.1.0-3) 8.1.0
reproduce:
        git checkout 8e99c881e497e7f7528f693c563e204ae888a846
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All warnings (new ones prefixed by >>):

   In file included from ipc/mqueue.c:29:
   include/linux/syscalls.h:211:18: warning: 'sys_mq_open' alias between functions of incompatible types 'long int(const char *, int,  umode_t,  struct mq_attr *)' {aka 'long int(const char *, int,  short unsigned int,  struct mq_attr *)'} and '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:207:2: note: in expansion of macro '__SYSCALL_DEFINEx'
     __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
     ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:199:36: note: in expansion of macro 'SYSCALL_DEFINEx'
    #define SYSCALL_DEFINE4(name, ...) SYSCALL_DEFINEx(4, _##name, __VA_ARGS__)
                                       ^~~~~~~~~~~~~~~
   ipc/mqueue.c:847:1: note: in expansion of macro 'SYSCALL_DEFINE4'
    SYSCALL_DEFINE4(mq_open, const char __user *, u_name, int, oflag, umode_t, mode,
    ^~~~~~~~~~~~~~~
   include/linux/syscalls.h:215:18: note: aliased declaration here
     asmlinkage long SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
                     ^~~
   include/linux/syscalls.h:207:2: note: in expansion of macro '__SYSCALL_DEFINEx'
     __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
     ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:199:36: note: in expansion of macro 'SYSCALL_DEFINEx'
    #define SYSCALL_DEFINE4(name, ...) SYSCALL_DEFINEx(4, _##name, __VA_ARGS__)
                                       ^~~~~~~~~~~~~~~
   ipc/mqueue.c:847:1: note: in expansion of macro 'SYSCALL_DEFINE4'
    SYSCALL_DEFINE4(mq_open, const char __user *, u_name, int, oflag, umode_t, mode,
    ^~~~~~~~~~~~~~~
   In file included from include/linux/ethtool.h:17,
                    from include/linux/netdevice.h:41,
                    from include/net/sock.h:51,
                    from ipc/mqueue.c:42:
   include/linux/compat.h:51:18: warning: 'compat_sys_mq_getsetattr' alias between functions of incompatible types 'long int(mqd_t,  const struct compat_mq_attr *, struct compat_mq_attr *)' {aka 'long int(int,  const struct compat_mq_attr *, struct compat_mq_attr *)'} and 'long int(long int,  long int,  long int)' [-Wattribute-alias]
     asmlinkage long compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))\
                     ^~~~~~~~~~
   include/linux/compat.h:42:2: note: in expansion of macro 'COMPAT_SYSCALL_DEFINEx'
     COMPAT_SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
     ^~~~~~~~~~~~~~~~~~~~~~
>> ipc/mqueue.c:1531:1: note: in expansion of macro 'COMPAT_SYSCALL_DEFINE3'
    COMPAT_SYSCALL_DEFINE3(mq_getsetattr, mqd_t, mqdes,
    ^~~~~~~~~~~~~~~~~~~~~~
   include/linux/compat.h:55:18: note: aliased declaration here
     asmlinkage long compat_SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__))\
                     ^~~~~~~~~~
   include/linux/compat.h:42:2: note: in expansion of macro 'COMPAT_SYSCALL_DEFINEx'
     COMPAT_SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
     ^~~~~~~~~~~~~~~~~~~~~~
>> ipc/mqueue.c:1531:1: note: in expansion of macro 'COMPAT_SYSCALL_DEFINE3'
    COMPAT_SYSCALL_DEFINE3(mq_getsetattr, mqd_t, mqdes,
    ^~~~~~~~~~~~~~~~~~~~~~
   include/linux/compat.h:51:18: warning: 'compat_sys_mq_notify' alias between functions of incompatible types 'long int(mqd_t,  const struct compat_sigevent *)' {aka 'long int(int,  const struct compat_sigevent *)'} and 'long int(long int,  long int)' [-Wattribute-alias]
     asmlinkage long compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))\
                     ^~~~~~~~~~
   include/linux/compat.h:40:2: note: in expansion of macro 'COMPAT_SYSCALL_DEFINEx'
     COMPAT_SYSCALL_DEFINEx(2, _##name, __VA_ARGS__)
     ^~~~~~~~~~~~~~~~~~~~~~
>> ipc/mqueue.c:1517:1: note: in expansion of macro 'COMPAT_SYSCALL_DEFINE2'
    COMPAT_SYSCALL_DEFINE2(mq_notify, mqd_t, mqdes,
    ^~~~~~~~~~~~~~~~~~~~~~
   include/linux/compat.h:55:18: note: aliased declaration here
     asmlinkage long compat_SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__))\
                     ^~~~~~~~~~
   include/linux/compat.h:40:2: note: in expansion of macro 'COMPAT_SYSCALL_DEFINEx'
     COMPAT_SYSCALL_DEFINEx(2, _##name, __VA_ARGS__)
     ^~~~~~~~~~~~~~~~~~~~~~
>> ipc/mqueue.c:1517:1: note: in expansion of macro 'COMPAT_SYSCALL_DEFINE2'
    COMPAT_SYSCALL_DEFINE2(mq_notify, mqd_t, mqdes,
    ^~~~~~~~~~~~~~~~~~~~~~
   include/linux/compat.h:51:18: warning: 'compat_sys_mq_timedreceive' alias between functions of incompatible types 'long int(mqd_t,  char *, compat_size_t,  unsigned int *, const struct compat_timespec *)' {aka 'long int(int,  char *, unsigned int,  unsigned int *, const struct compat_timespec *)'} and 'long int(long int,  long int,  long int,  long int,  long int)' [-Wattribute-alias]
     asmlinkage long compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))\
                     ^~~~~~~~~~
   include/linux/compat.h:46:2: note: in expansion of macro 'COMPAT_SYSCALL_DEFINEx'
     COMPAT_SYSCALL_DEFINEx(5, _##name, __VA_ARGS__)
     ^~~~~~~~~~~~~~~~~~~~~~
>> ipc/mqueue.c:1502:1: note: in expansion of macro 'COMPAT_SYSCALL_DEFINE5'
    COMPAT_SYSCALL_DEFINE5(mq_timedreceive, mqd_t, mqdes,
    ^~~~~~~~~~~~~~~~~~~~~~
   include/linux/compat.h:55:18: note: aliased declaration here
     asmlinkage long compat_SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__))\
                     ^~~~~~~~~~
   include/linux/compat.h:46:2: note: in expansion of macro 'COMPAT_SYSCALL_DEFINEx'
     COMPAT_SYSCALL_DEFINEx(5, _##name, __VA_ARGS__)
     ^~~~~~~~~~~~~~~~~~~~~~
>> ipc/mqueue.c:1502:1: note: in expansion of macro 'COMPAT_SYSCALL_DEFINE5'
    COMPAT_SYSCALL_DEFINE5(mq_timedreceive, mqd_t, mqdes,
    ^~~~~~~~~~~~~~~~~~~~~~
   include/linux/compat.h:51:18: warning: 'compat_sys_mq_timedsend' alias between functions of incompatible types 'long int(mqd_t,  const char *, compat_size_t,  unsigned int,  const struct compat_timespec *)' {aka 'long int(int,  const char *, unsigned int,  unsigned int,  const struct compat_timespec *)'} and 'long int(long int,  long int,  long int,  long int,  long int)' [-Wattribute-alias]
     asmlinkage long compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))\
                     ^~~~~~~~~~
   include/linux/compat.h:46:2: note: in expansion of macro 'COMPAT_SYSCALL_DEFINEx'
     COMPAT_SYSCALL_DEFINEx(5, _##name, __VA_ARGS__)
     ^~~~~~~~~~~~~~~~~~~~~~
   ipc/mqueue.c:1487:1: note: in expansion of macro 'COMPAT_SYSCALL_DEFINE5'
    COMPAT_SYSCALL_DEFINE5(mq_timedsend, mqd_t, mqdes,
    ^~~~~~~~~~~~~~~~~~~~~~
   include/linux/compat.h:55:18: note: aliased declaration here
     asmlinkage long compat_SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__))\
                     ^~~~~~~~~~
   include/linux/compat.h:46:2: note: in expansion of macro 'COMPAT_SYSCALL_DEFINEx'
     COMPAT_SYSCALL_DEFINEx(5, _##name, __VA_ARGS__)
     ^~~~~~~~~~~~~~~~~~~~~~
   ipc/mqueue.c:1487:1: note: in expansion of macro 'COMPAT_SYSCALL_DEFINE5'
    COMPAT_SYSCALL_DEFINE5(mq_timedsend, mqd_t, mqdes,
    ^~~~~~~~~~~~~~~~~~~~~~
   include/linux/compat.h:51:18: warning: 'compat_sys_mq_open' alias between functions of incompatible types 'long int(const char *, int,  compat_mode_t,  struct compat_mq_attr *)' {aka 'long int(const char *, int,  short unsigned int,  struct compat_mq_attr *)'} and 'long int(long int,  long int,  long int,  long int)' [-Wattribute-alias]
     asmlinkage long compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))\
                     ^~~~~~~~~~
   include/linux/compat.h:44:2: note: in expansion of macro 'COMPAT_SYSCALL_DEFINEx'
     COMPAT_SYSCALL_DEFINEx(4, _##name, __VA_ARGS__)
     ^~~~~~~~~~~~~~~~~~~~~~
>> ipc/mqueue.c:1464:1: note: in expansion of macro 'COMPAT_SYSCALL_DEFINE4'
    COMPAT_SYSCALL_DEFINE4(mq_open, const char __user *, u_name,
    ^~~~~~~~~~~~~~~~~~~~~~
   include/linux/compat.h:55:18: note: aliased declaration here
     asmlinkage long compat_SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__))\
                     ^~~~~~~~~~
   include/linux/compat.h:44:2: note: in expansion of macro 'COMPAT_SYSCALL_DEFINEx'
     COMPAT_SYSCALL_DEFINEx(4, _##name, __VA_ARGS__)
     ^~~~~~~~~~~~~~~~~~~~~~
>> ipc/mqueue.c:1464:1: note: in expansion of macro 'COMPAT_SYSCALL_DEFINE4'
    COMPAT_SYSCALL_DEFINE4(mq_open, const char __user *, u_name,
    ^~~~~~~~~~~~~~~~~~~~~~
   In file included from ipc/mqueue.c:29:
   include/linux/syscalls.h:211:18: warning: 'sys_mq_getsetattr' alias between functions of incompatible types 'long int(mqd_t,  const struct mq_attr *, struct mq_attr *)' {aka 'long int(int,  const struct mq_attr *, struct mq_attr *)'} 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:207:2: note: in expansion of macro '__SYSCALL_DEFINEx'
     __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
     ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:198:36: note: in expansion of macro 'SYSCALL_DEFINEx'
    #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
                                       ^~~~~~~~~~~~~~~
   ipc/mqueue.c:1398:1: note: in expansion of macro 'SYSCALL_DEFINE3'
    SYSCALL_DEFINE3(mq_getsetattr, mqd_t, mqdes,
    ^~~~~~~~~~~~~~~
   include/linux/syscalls.h:215:18: note: aliased declaration here
     asmlinkage long SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
                     ^~~
   include/linux/syscalls.h:207:2: note: in expansion of macro '__SYSCALL_DEFINEx'
     __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
     ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:198:36: note: in expansion of macro 'SYSCALL_DEFINEx'
    #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
                                       ^~~~~~~~~~~~~~~
   ipc/mqueue.c:1398:1: note: in expansion of macro 'SYSCALL_DEFINE3'
    SYSCALL_DEFINE3(mq_getsetattr, mqd_t, mqdes,
    ^~~~~~~~~~~~~~~
   include/linux/syscalls.h:211:18: warning: 'sys_mq_notify' alias between functions of incompatible types 'long int(mqd_t,  const struct sigevent *)' {aka 'long int(int,  const struct sigevent *)'} and 'long int(long int,  long int)' [-Wattribute-alias]
     asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
                     ^~~
   include/linux/syscalls.h:207:2: note: in expansion of macro '__SYSCALL_DEFINEx'
     __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
     ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:197:36: note: in expansion of macro 'SYSCALL_DEFINEx'
    #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__)
                                       ^~~~~~~~~~~~~~~
   ipc/mqueue.c:1342:1: note: in expansion of macro 'SYSCALL_DEFINE2'
    SYSCALL_DEFINE2(mq_notify, mqd_t, mqdes,
    ^~~~~~~~~~~~~~~
   include/linux/syscalls.h:215:18: note: aliased declaration here
     asmlinkage long SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
                     ^~~
   include/linux/syscalls.h:207:2: note: in expansion of macro '__SYSCALL_DEFINEx'
     __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
     ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:197:36: note: in expansion of macro 'SYSCALL_DEFINEx'
    #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__)
                                       ^~~~~~~~~~~~~~~
   ipc/mqueue.c:1342:1: note: in expansion of macro 'SYSCALL_DEFINE2'
    SYSCALL_DEFINE2(mq_notify, mqd_t, mqdes,
    ^~~~~~~~~~~~~~~
   include/linux/syscalls.h:211:18: warning: 'sys_mq_timedreceive' alias between functions of incompatible types 'long int(mqd_t,  char *, size_t,  unsigned int *, const struct timespec *)' {aka 'long int(int,  char *, long unsigned int,  unsigned int *, const 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:207:2: note: in expansion of macro '__SYSCALL_DEFINEx'
     __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
     ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:200:36: note: in expansion of macro 'SYSCALL_DEFINEx'
    #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__)
                                       ^~~~~~~~~~~~~~~
   ipc/mqueue.c:1197:1: note: in expansion of macro 'SYSCALL_DEFINE5'
    SYSCALL_DEFINE5(mq_timedreceive, mqd_t, mqdes, char __user *, u_msg_ptr,
    ^~~~~~~~~~~~~~~
   include/linux/syscalls.h:215:18: note: aliased declaration here
     asmlinkage long SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
                     ^~~
   include/linux/syscalls.h:207:2: note: in expansion of macro '__SYSCALL_DEFINEx'
     __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
     ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:200:36: note: in expansion of macro 'SYSCALL_DEFINEx'
    #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__)
                                       ^~~~~~~~~~~~~~~
   ipc/mqueue.c:1197:1: note: in expansion of macro 'SYSCALL_DEFINE5'
    SYSCALL_DEFINE5(mq_timedreceive, mqd_t, mqdes, char __user *, u_msg_ptr,
    ^~~~~~~~~~~~~~~
   include/linux/syscalls.h:211:18: warning: 'sys_mq_timedsend' alias between functions of incompatible types 'long int(mqd_t,  const char *, size_t,  unsigned int,  const struct timespec *)' {aka 'long int(int,  const char *, long unsigned int,  unsigned int,  const 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:207:2: note: in expansion of macro '__SYSCALL_DEFINEx'
     __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
     ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:200:36: note: in expansion of macro 'SYSCALL_DEFINEx'
    #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__)
                                       ^~~~~~~~~~~~~~~
   ipc/mqueue.c:1183:1: note: in expansion of macro 'SYSCALL_DEFINE5'
    SYSCALL_DEFINE5(mq_timedsend, mqd_t, mqdes, const char __user *, u_msg_ptr,
    ^~~~~~~~~~~~~~~
   include/linux/syscalls.h:215:18: note: aliased declaration here
     asmlinkage long SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
                     ^~~
   include/linux/syscalls.h:207:2: note: in expansion of macro '__SYSCALL_DEFINEx'
     __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
     ^~~~~~~~~~~~~~~~~
   include/linux/syscalls.h:200:36: note: in expansion of macro 'SYSCALL_DEFINEx'
    #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__)
                                       ^~~~~~~~~~~~~~~
   ipc/mqueue.c:1183:1: note: in expansion of macro 'SYSCALL_DEFINE5'
    SYSCALL_DEFINE5(mq_timedsend, mqd_t, mqdes, const char __user *, u_msg_ptr,
    ^~~~~~~~~~~~~~~
   include/linux/syscalls.h:211:18: warning: 'sys_mq_unlink' alias between functions of incompatible types 'long int(const char *)' and 'long int(long int)' [-Wattribute-alias]

vim +/COMPAT_SYSCALL_DEFINE3 +1531 ipc/mqueue.c

0d060606 Al Viro        2017-06-27  1463  
0d060606 Al Viro        2017-06-27 @1464  COMPAT_SYSCALL_DEFINE4(mq_open, const char __user *, u_name,
0d060606 Al Viro        2017-06-27  1465  		       int, oflag, compat_mode_t, mode,
0d060606 Al Viro        2017-06-27  1466  		       struct compat_mq_attr __user *, u_attr)
0d060606 Al Viro        2017-06-27  1467  {
0d060606 Al Viro        2017-06-27  1468  	struct mq_attr attr, *p = NULL;
0d060606 Al Viro        2017-06-27  1469  	if (u_attr && oflag & O_CREAT) {
0d060606 Al Viro        2017-06-27  1470  		p = &attr;
0d060606 Al Viro        2017-06-27  1471  		if (get_compat_mq_attr(&attr, u_attr))
0d060606 Al Viro        2017-06-27  1472  			return -EFAULT;
0d060606 Al Viro        2017-06-27  1473  	}
0d060606 Al Viro        2017-06-27  1474  	return do_mq_open(u_name, oflag, mode, p);
0d060606 Al Viro        2017-06-27  1475  }
0d060606 Al Viro        2017-06-27  1476  
0d060606 Al Viro        2017-06-27  1477  static int compat_prepare_timeout(const struct compat_timespec __user *p,
b9047726 Deepa Dinamani 2017-08-02  1478  				   struct timespec64 *ts)
0d060606 Al Viro        2017-06-27  1479  {
b9047726 Deepa Dinamani 2017-08-02  1480  	if (compat_get_timespec64(ts, p))
0d060606 Al Viro        2017-06-27  1481  		return -EFAULT;
b9047726 Deepa Dinamani 2017-08-02  1482  	if (!timespec64_valid(ts))
0d060606 Al Viro        2017-06-27  1483  		return -EINVAL;
0d060606 Al Viro        2017-06-27  1484  	return 0;
0d060606 Al Viro        2017-06-27  1485  }
0d060606 Al Viro        2017-06-27  1486  
0d060606 Al Viro        2017-06-27 @1487  COMPAT_SYSCALL_DEFINE5(mq_timedsend, mqd_t, mqdes,
0d060606 Al Viro        2017-06-27  1488  		       const char __user *, u_msg_ptr,
0d060606 Al Viro        2017-06-27  1489  		       compat_size_t, msg_len, unsigned int, msg_prio,
0d060606 Al Viro        2017-06-27  1490  		       const struct compat_timespec __user *, u_abs_timeout)
0d060606 Al Viro        2017-06-27  1491  {
b9047726 Deepa Dinamani 2017-08-02  1492  	struct timespec64 ts, *p = NULL;
0d060606 Al Viro        2017-06-27  1493  	if (u_abs_timeout) {
0d060606 Al Viro        2017-06-27  1494  		int res = compat_prepare_timeout(u_abs_timeout, &ts);
0d060606 Al Viro        2017-06-27  1495  		if (res)
0d060606 Al Viro        2017-06-27  1496  			return res;
0d060606 Al Viro        2017-06-27  1497  		p = &ts;
0d060606 Al Viro        2017-06-27  1498  	}
0d060606 Al Viro        2017-06-27  1499  	return do_mq_timedsend(mqdes, u_msg_ptr, msg_len, msg_prio, p);
0d060606 Al Viro        2017-06-27  1500  }
0d060606 Al Viro        2017-06-27  1501  
0d060606 Al Viro        2017-06-27 @1502  COMPAT_SYSCALL_DEFINE5(mq_timedreceive, mqd_t, mqdes,
0d060606 Al Viro        2017-06-27  1503  		       char __user *, u_msg_ptr,
0d060606 Al Viro        2017-06-27  1504  		       compat_size_t, msg_len, unsigned int __user *, u_msg_prio,
0d060606 Al Viro        2017-06-27  1505  		       const struct compat_timespec __user *, u_abs_timeout)
0d060606 Al Viro        2017-06-27  1506  {
b9047726 Deepa Dinamani 2017-08-02  1507  	struct timespec64 ts, *p = NULL;
0d060606 Al Viro        2017-06-27  1508  	if (u_abs_timeout) {
0d060606 Al Viro        2017-06-27  1509  		int res = compat_prepare_timeout(u_abs_timeout, &ts);
0d060606 Al Viro        2017-06-27  1510  		if (res)
0d060606 Al Viro        2017-06-27  1511  			return res;
0d060606 Al Viro        2017-06-27  1512  		p = &ts;
0d060606 Al Viro        2017-06-27  1513  	}
0d060606 Al Viro        2017-06-27  1514  	return do_mq_timedreceive(mqdes, u_msg_ptr, msg_len, u_msg_prio, p);
0d060606 Al Viro        2017-06-27  1515  }
0d060606 Al Viro        2017-06-27  1516  
0d060606 Al Viro        2017-06-27 @1517  COMPAT_SYSCALL_DEFINE2(mq_notify, mqd_t, mqdes,
0d060606 Al Viro        2017-06-27  1518  		       const struct compat_sigevent __user *, u_notification)
0d060606 Al Viro        2017-06-27  1519  {
0d060606 Al Viro        2017-06-27  1520  	struct sigevent n, *p = NULL;
0d060606 Al Viro        2017-06-27  1521  	if (u_notification) {
0d060606 Al Viro        2017-06-27  1522  		if (get_compat_sigevent(&n, u_notification))
0d060606 Al Viro        2017-06-27  1523  			return -EFAULT;
0d060606 Al Viro        2017-06-27  1524  		if (n.sigev_notify == SIGEV_THREAD)
0d060606 Al Viro        2017-06-27  1525  			n.sigev_value.sival_ptr = compat_ptr(n.sigev_value.sival_int);
0d060606 Al Viro        2017-06-27  1526  		p = &n;
0d060606 Al Viro        2017-06-27  1527  	}
0d060606 Al Viro        2017-06-27  1528  	return do_mq_notify(mqdes, p);
0d060606 Al Viro        2017-06-27  1529  }
0d060606 Al Viro        2017-06-27  1530  
0d060606 Al Viro        2017-06-27 @1531  COMPAT_SYSCALL_DEFINE3(mq_getsetattr, mqd_t, mqdes,
0d060606 Al Viro        2017-06-27  1532  		       const struct compat_mq_attr __user *, u_mqstat,
0d060606 Al Viro        2017-06-27  1533  		       struct compat_mq_attr __user *, u_omqstat)
0d060606 Al Viro        2017-06-27  1534  {
0d060606 Al Viro        2017-06-27  1535  	int ret;
0d060606 Al Viro        2017-06-27  1536  	struct mq_attr mqstat, omqstat;
0d060606 Al Viro        2017-06-27  1537  	struct mq_attr *new = NULL, *old = NULL;
0d060606 Al Viro        2017-06-27  1538  
0d060606 Al Viro        2017-06-27  1539  	if (u_mqstat) {
0d060606 Al Viro        2017-06-27  1540  		new = &mqstat;
0d060606 Al Viro        2017-06-27  1541  		if (get_compat_mq_attr(new, u_mqstat))
0d060606 Al Viro        2017-06-27  1542  			return -EFAULT;
0d060606 Al Viro        2017-06-27  1543  	}
0d060606 Al Viro        2017-06-27  1544  	if (u_omqstat)
0d060606 Al Viro        2017-06-27  1545  		old = &omqstat;
0d060606 Al Viro        2017-06-27  1546  
0d060606 Al Viro        2017-06-27  1547  	ret = do_mq_getsetattr(mqdes, new, old);
0d060606 Al Viro        2017-06-27  1548  	if (ret || !old)
0d060606 Al Viro        2017-06-27  1549  		return ret;
0d060606 Al Viro        2017-06-27  1550  
0d060606 Al Viro        2017-06-27  1551  	if (put_compat_mq_attr(old, u_omqstat))
0d060606 Al Viro        2017-06-27  1552  		return -EFAULT;
0d060606 Al Viro        2017-06-27  1553  	return 0;
^1da177e Linus Torvalds 2005-04-16  1554  }
0d060606 Al Viro        2017-06-27  1555  #endif
^1da177e Linus Torvalds 2005-04-16  1556  

:::::: The code at line 1531 was first introduced by commit
:::::: 0d0606060baefdb13d3d80dba1b4c816b0676e16 mqueue: move compat syscalls to native ones

:::::: TO: Al Viro <viro@zeniv.linux.org.uk>
:::::: CC: Al Viro <viro@zeniv.linux.org.uk>

---
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: 30488 bytes --]

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

only message in thread, other threads:[~2018-05-29 16:18 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-29 16:17 [linux-stable-rc:linux-4.14.y 3879/4798] ipc/mqueue.c:1531:1: note: in expansion of macro 'COMPAT_SYSCALL_DEFINE3' kbuild test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox