All of lore.kernel.org
 help / color / mirror / Atom feed
* [hch-misc:sockptr 46/46] net/mptcp/protocol.c:1659:45: sparse: sparse: incorrect type in argument 1 (different base types)
@ 2020-07-16 18:56 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2020-07-16 18:56 UTC (permalink / raw)
  To: kbuild-all

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

tree:   git://git.infradead.org/users/hch/misc.git sockptr
head:   65b86d5658a5bbb84fe436c27cf60a6efb6b5303
commit: 65b86d5658a5bbb84fe436c27cf60a6efb6b5303 [46/46] net: pass a sockptr_t into ->setsockopt
config: i386-randconfig-s002-20200716 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.2-49-g707c5017-dirty
        git checkout 65b86d5658a5bbb84fe436c27cf60a6efb6b5303
        # save the attached .config to linux build tree
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


sparse warnings: (new ones prefixed by >>)

>> net/mptcp/protocol.c:1659:45: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected void [noderef] __user *p @@     got union sockptr_t [usertype] optval @@
>> net/mptcp/protocol.c:1659:45: sparse:     expected void [noderef] __user *p
>> net/mptcp/protocol.c:1659:45: sparse:     got union sockptr_t [usertype] optval
   net/mptcp/protocol.c:1531:24: sparse: sparse: context imbalance in 'mptcp_sk_clone' - unexpected unlock
--
   net/decnet/af_decnet.c:1325:27: sparse: sparse: Expected ) in function declarator
   net/decnet/af_decnet.c:1325:27: sparse: sparse: got optval
   net/decnet/af_decnet.c:1340:9: sparse: sparse: Trying to use reserved word 'return' as identifier
   net/decnet/af_decnet.c:1340:16: sparse: sparse: Expected ; at end of declaration
   net/decnet/af_decnet.c:1340:16: sparse: sparse: got err
   net/decnet/af_decnet.c:1341:1: sparse: sparse: Expected ; at the end of type declaration
   net/decnet/af_decnet.c:1341:1: sparse: sparse: got }
   net/decnet/af_decnet.c:1360:20: sparse: sparse: Expected ) in function declarator
   net/decnet/af_decnet.c:1360:20: sparse: sparse: got &&
   net/decnet/af_decnet.c:1360:9: sparse: sparse: Trying to use reserved word 'if' as identifier
   net/decnet/af_decnet.c:1363:20: sparse: sparse: Expected ) in function declarator
   net/decnet/af_decnet.c:1363:20: sparse: sparse: got >
   net/decnet/af_decnet.c:1363:9: sparse: sparse: Trying to use reserved word 'if' as identifier
   net/decnet/af_decnet.c:1366:30: sparse: sparse: Expected ) in function declarator
   net/decnet/af_decnet.c:1366:30: sparse: sparse: got (
   net/decnet/af_decnet.c:1366:9: sparse: sparse: Trying to use reserved word 'if' as identifier
   net/decnet/af_decnet.c:1369:9: sparse: sparse: Trying to use reserved word 'switch' as identifier
   net/decnet/af_decnet.c:1370:9: sparse: sparse: not in switch scope
   net/decnet/af_decnet.c:1383:17: sparse: sparse: break/continue not in iterator scope
   net/decnet/af_decnet.c:1385:9: sparse: sparse: not in switch scope
   net/decnet/af_decnet.c:1397:17: sparse: sparse: break/continue not in iterator scope
   net/decnet/af_decnet.c:1399:9: sparse: sparse: not in switch scope
   net/decnet/af_decnet.c:1414:17: sparse: sparse: break/continue not in iterator scope
   net/decnet/af_decnet.c:1416:9: sparse: sparse: not in switch scope
   net/decnet/af_decnet.c:1429:17: sparse: sparse: break/continue not in iterator scope
   net/decnet/af_decnet.c:1431:9: sparse: sparse: not in switch scope
   net/decnet/af_decnet.c:1438:9: sparse: sparse: not in switch scope
   net/decnet/af_decnet.c:1445:17: sparse: sparse: break/continue not in iterator scope
   net/decnet/af_decnet.c:1447:9: sparse: sparse: not in switch scope
   net/decnet/af_decnet.c:1457:17: sparse: sparse: break/continue not in iterator scope
   net/decnet/af_decnet.c:1459:9: sparse: sparse: not in switch scope
   net/decnet/af_decnet.c:1466:17: sparse: sparse: break/continue not in iterator scope
   net/decnet/af_decnet.c:1468:9: sparse: sparse: not in switch scope
   net/decnet/af_decnet.c:1475:17: sparse: sparse: break/continue not in iterator scope
   net/decnet/af_decnet.c:1477:9: sparse: sparse: not in switch scope
   net/decnet/af_decnet.c:1485:17: sparse: sparse: break/continue not in iterator scope
   net/decnet/af_decnet.c:1487:9: sparse: sparse: not in switch scope
   net/decnet/af_decnet.c:1493:17: sparse: sparse: break/continue not in iterator scope
   net/decnet/af_decnet.c:1495:9: sparse: sparse: not in switch scope
   net/decnet/af_decnet.c:1496:9: sparse: sparse: not in switch scope
   net/decnet/af_decnet.c:1497:9: sparse: sparse: not in switch scope
   net/decnet/af_decnet.c:1498:9: sparse: sparse: not in switch scope
   net/decnet/af_decnet.c:1502:9: sparse: sparse: Trying to use reserved word 'return' as identifier
   net/decnet/af_decnet.c:1502:16: sparse: sparse: Expected ; at end of declaration
   net/decnet/af_decnet.c:1502:16: sparse: sparse: got 0
   net/decnet/af_decnet.c:1503:1: sparse: sparse: Expected ; at the end of type declaration
   net/decnet/af_decnet.c:1503:1: sparse: sparse: got }
   net/decnet/af_decnet.c:1528:9: sparse: sparse: Trying to use reserved word 'return' as identifier
   net/decnet/af_decnet.c:1528:16: sparse: sparse: Expected ; at end of declaration
   net/decnet/af_decnet.c:1528:16: sparse: sparse: got err
   net/decnet/af_decnet.c:1529:1: sparse: sparse: Expected ; at the end of type declaration
   net/decnet/af_decnet.c:1529:1: sparse: sparse: got }
   net/decnet/af_decnet.c:1540:12: sparse: sparse: Expected ) in function declarator
   net/decnet/af_decnet.c:1540:12: sparse: sparse: got (
   net/decnet/af_decnet.c:1540:9: sparse: sparse: Trying to use reserved word 'if' as identifier
   net/decnet/af_decnet.c:1540:12: sparse: sparse: Expected ) in function declarator
   net/decnet/af_decnet.c:1540:12: sparse: sparse: got "net/decnet/af_decnet.c"
   net/decnet/af_decnet.c:1540:12: sparse: sparse: Expected ) in function declarator
   net/decnet/af_decnet.c:1540:12: sparse: sparse: got ,
   net/decnet/af_decnet.c:1540:12: sparse: sparse: Expected ; at the end of type declaration
   net/decnet/af_decnet.c:1540:12: sparse: sparse: got }
   net/decnet/af_decnet.c:1543:9: sparse: sparse: Trying to use reserved word 'switch' as identifier
   net/decnet/af_decnet.c:1544:9: sparse: sparse: not in switch scope
   net/decnet/af_decnet.c:1548:17: sparse: sparse: break/continue not in iterator scope
   net/decnet/af_decnet.c:1550:9: sparse: sparse: not in switch scope
   net/decnet/af_decnet.c:1554:17: sparse: sparse: break/continue not in iterator scope
   net/decnet/af_decnet.c:1556:9: sparse: sparse: not in switch scope
   net/decnet/af_decnet.c:1560:17: sparse: sparse: break/continue not in iterator scope
   net/decnet/af_decnet.c:1562:9: sparse: sparse: not in switch scope
   net/decnet/af_decnet.c:1566:17: sparse: sparse: break/continue not in iterator scope
   net/decnet/af_decnet.c:1568:9: sparse: sparse: not in switch scope
   net/decnet/af_decnet.c:1590:17: sparse: sparse: break/continue not in iterator scope
   net/decnet/af_decnet.c:1592:9: sparse: sparse: not in switch scope
   net/decnet/af_decnet.c:1596:17: sparse: sparse: break/continue not in iterator scope
   net/decnet/af_decnet.c:1598:9: sparse: sparse: not in switch scope
   net/decnet/af_decnet.c:1603:17: sparse: sparse: break/continue not in iterator scope
   net/decnet/af_decnet.c:1605:9: sparse: sparse: not in switch scope
   net/decnet/af_decnet.c:1610:17: sparse: sparse: break/continue not in iterator scope
   net/decnet/af_decnet.c:1612:9: sparse: sparse: not in switch scope
   net/decnet/af_decnet.c:1616:17: sparse: sparse: break/continue not in iterator scope
   net/decnet/af_decnet.c:1618:9: sparse: sparse: not in switch scope
   net/decnet/af_decnet.c:1622:17: sparse: sparse: break/continue not in iterator scope
   net/decnet/af_decnet.c:1624:9: sparse: sparse: not in switch scope
   net/decnet/af_decnet.c:1625:9: sparse: sparse: not in switch scope
   net/decnet/af_decnet.c:1626:9: sparse: sparse: not in switch scope
   net/decnet/af_decnet.c:1627:9: sparse: sparse: not in switch scope
   net/decnet/af_decnet.c:1628:9: sparse: sparse: not in switch scope
   net/decnet/af_decnet.c:1632:9: sparse: sparse: Trying to use reserved word 'if' as identifier
   net/decnet/af_decnet.c:1639:9: sparse: sparse: Trying to use reserved word 'return' as identifier
   net/decnet/af_decnet.c:1639:16: sparse: sparse: Expected ; at end of declaration
   net/decnet/af_decnet.c:1639:16: sparse: sparse: got 0
   net/decnet/af_decnet.c:1640:1: sparse: sparse: Expected ; at the end of type declaration
   net/decnet/af_decnet.c:1640:1: sparse: sparse: got }
   net/decnet/af_decnet.c:1648:19: sparse: sparse: Expected ) in function declarator
   net/decnet/af_decnet.c:1648:19: sparse: sparse: got &
   net/decnet/af_decnet.c:1648:9: sparse: sparse: Trying to use reserved word 'if' as identifier
   net/decnet/af_decnet.c:1651:9: sparse: sparse: Expected ) in function declarator
   net/decnet/af_decnet.c:1651:9: sparse: sparse: got =
>> net/decnet/af_decnet.c:1651:9: sparse: sparse: Trying to use reserved word 'for' as identifier
   net/decnet/af_decnet.c:1651:9: sparse: sparse: Expected ; at end of declaration
   net/decnet/af_decnet.c:1651:9: sparse: sparse: got !=
   net/decnet/af_decnet.c:1651:9: sparse: sparse: too many errors
--
>> net/dccp/proto.c:421:53: sparse: sparse: incorrect type in argument 2 (different base types) @@     expected void const [noderef] __user *from @@     got union sockptr_t [usertype] optval @@
>> net/dccp/proto.c:421:53: sparse:     expected void const [noderef] __user *from
>> net/dccp/proto.c:421:53: sparse:     got union sockptr_t [usertype] optval
>> net/dccp/proto.c:527:52: sparse: sparse: incorrect type in argument 2 (different base types) @@     expected restricted __be32 const [usertype] service @@     got int [addressable] val @@
   net/dccp/proto.c:527:52: sparse:     expected restricted __be32 const [usertype] service
>> net/dccp/proto.c:527:52: sparse:     got int [addressable] val
>> net/dccp/proto.c:571:71: sparse: sparse: incorrect type in argument 4 (invalid types) @@     expected union sockptr_t [usertype] optval @@     got char [noderef] __user *optval @@
>> net/dccp/proto.c:571:71: sparse:     expected union sockptr_t [usertype] optval
>> net/dccp/proto.c:571:71: sparse:     got char [noderef] __user *optval
   net/dccp/proto.c:573:55: sparse: sparse: incorrect type in argument 4 (invalid types) @@     expected union sockptr_t [usertype] optval @@     got char [noderef] __user *optval @@
   net/dccp/proto.c:573:55: sparse:     expected union sockptr_t [usertype] optval
   net/dccp/proto.c:573:55: sparse:     got char [noderef] __user *optval
   net/dccp/proto.c:566:5: sparse: sparse: symbol 'dccp_setsockopt' redeclared with different type (incompatible argument 4 (different base types)):
>> net/dccp/proto.c:566:5: sparse:    int extern [addressable] [signed] [toplevel] dccp_setsockopt( ... )
   net/dccp/dccp.h:297:5: sparse: note: previously declared as:
>> net/dccp/dccp.h:297:5: sparse:    int extern [addressable] [signed] [toplevel] dccp_setsockopt( ... )
   net/dccp/proto.c:710:57: sparse: sparse: incorrect type in argument 2 (different base types) @@     expected restricted __be32 [usertype] param @@     got int cmsg_type @@
   net/dccp/proto.c:710:57: sparse:     expected restricted __be32 [usertype] param
   net/dccp/proto.c:710:57: sparse:     got int cmsg_type

vim +1659 net/mptcp/protocol.c

79c0949e9a09f6 Peter Krystad     2020-01-21  1628  
fd1452d8ef988d Florian Westphal  2020-07-05  1629  static int mptcp_setsockopt_sol_socket(struct mptcp_sock *msk, int optname,
65b86d5658a5bb Christoph Hellwig 2020-07-16  1630  				       sockptr_t optval, unsigned int optlen)
fd1452d8ef988d Florian Westphal  2020-07-05  1631  {
fd1452d8ef988d Florian Westphal  2020-07-05  1632  	struct sock *sk = (struct sock *)msk;
fd1452d8ef988d Florian Westphal  2020-07-05  1633  	struct socket *ssock;
fd1452d8ef988d Florian Westphal  2020-07-05  1634  	int ret;
fd1452d8ef988d Florian Westphal  2020-07-05  1635  
fd1452d8ef988d Florian Westphal  2020-07-05  1636  	switch (optname) {
fd1452d8ef988d Florian Westphal  2020-07-05  1637  	case SO_REUSEPORT:
fd1452d8ef988d Florian Westphal  2020-07-05  1638  	case SO_REUSEADDR:
fd1452d8ef988d Florian Westphal  2020-07-05  1639  		lock_sock(sk);
fd1452d8ef988d Florian Westphal  2020-07-05  1640  		ssock = __mptcp_nmpc_socket(msk);
fd1452d8ef988d Florian Westphal  2020-07-05  1641  		if (!ssock) {
fd1452d8ef988d Florian Westphal  2020-07-05  1642  			release_sock(sk);
fd1452d8ef988d Florian Westphal  2020-07-05  1643  			return -EINVAL;
fd1452d8ef988d Florian Westphal  2020-07-05  1644  		}
fd1452d8ef988d Florian Westphal  2020-07-05  1645  
65b86d5658a5bb Christoph Hellwig 2020-07-16  1646  		ret = sock_setsockopt(ssock, SOL_SOCKET, optname, optval,
65b86d5658a5bb Christoph Hellwig 2020-07-16  1647  				      optlen);
fd1452d8ef988d Florian Westphal  2020-07-05  1648  		if (ret == 0) {
fd1452d8ef988d Florian Westphal  2020-07-05  1649  			if (optname == SO_REUSEPORT)
fd1452d8ef988d Florian Westphal  2020-07-05  1650  				sk->sk_reuseport = ssock->sk->sk_reuseport;
fd1452d8ef988d Florian Westphal  2020-07-05  1651  			else if (optname == SO_REUSEADDR)
fd1452d8ef988d Florian Westphal  2020-07-05  1652  				sk->sk_reuse = ssock->sk->sk_reuse;
fd1452d8ef988d Florian Westphal  2020-07-05  1653  		}
fd1452d8ef988d Florian Westphal  2020-07-05  1654  		release_sock(sk);
fd1452d8ef988d Florian Westphal  2020-07-05  1655  		return ret;
fd1452d8ef988d Florian Westphal  2020-07-05  1656  	}
fd1452d8ef988d Florian Westphal  2020-07-05  1657  
1bc49241714c4e Christoph Hellwig 2020-07-16  1658  	return sock_setsockopt(sk->sk_socket, SOL_SOCKET, optname,
1bc49241714c4e Christoph Hellwig 2020-07-16 @1659  			       USER_SOCKPTR(optval), optlen);
fd1452d8ef988d Florian Westphal  2020-07-05  1660  }
fd1452d8ef988d Florian Westphal  2020-07-05  1661  

:::::: The code at line 1659 was first introduced by commit
:::::: 1bc49241714c4e3ee30a9081f589f0cb4a9cede2 net: switch sock_set_timeout to sockptr_t

:::::: TO: Christoph Hellwig <hch@lst.de>
:::::: CC: Christoph Hellwig <hch@lst.de>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

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

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

only message in thread, other threads:[~2020-07-16 18:56 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-16 18:56 [hch-misc:sockptr 46/46] net/mptcp/protocol.c:1659:45: sparse: sparse: incorrect type in argument 1 (different base types) kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.