All of lore.kernel.org
 help / color / mirror / Atom feed
* [hch-misc:sockopt-cleanups 21/22] net/ipv6/ipv6_sockglue.c:1101:13: sparse: sparse: incorrect type in initializer (different address spaces)
@ 2020-07-17 15:20 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2020-07-17 15:20 UTC (permalink / raw)
  To: kbuild-all

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

tree:   git://git.infradead.org/users/hch/misc.git sockopt-cleanups
head:   c7b33f366ac60f1213a4ff71675dc62c56f171d3
commit: 24541f10128971b7634776778bce4c6b5c8d7e10 [21/22] net/ipv6: remove compat_ipv6_{get,set}sockopt
config: openrisc-randconfig-s031-20200717 (attached as .config)
compiler: or1k-linux-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.2-49-g707c5017-dirty
        git checkout 24541f10128971b7634776778bce4c6b5c8d7e10
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=openrisc 

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/ipv6/ipv6_sockglue.c:331:29: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected int const *__gu_addr @@     got int [noderef] __user * @@
   net/ipv6/ipv6_sockglue.c:331:29: sparse:     expected int const *__gu_addr
   net/ipv6/ipv6_sockglue.c:331:29: sparse:     got int [noderef] __user *
   net/ipv6/ipv6_sockglue.c:1059:21: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected int *__pu_addr @@     got int [noderef] __user *optlen @@
   net/ipv6/ipv6_sockglue.c:1059:21: sparse:     expected int *__pu_addr
   net/ipv6/ipv6_sockglue.c:1059:21: sparse:     got int [noderef] __user *optlen
   net/ipv6/ipv6_sockglue.c:1077:13: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected int const *__gu_addr @@     got int [noderef] __user *optlen @@
   net/ipv6/ipv6_sockglue.c:1077:13: sparse:     expected int const *__gu_addr
   net/ipv6/ipv6_sockglue.c:1077:13: sparse:     got int [noderef] __user *optlen
   net/ipv6/ipv6_sockglue.c:1100:13: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected int *__pu_addr @@     got int [noderef] __user *optlen @@
   net/ipv6/ipv6_sockglue.c:1100:13: sparse:     expected int *__pu_addr
   net/ipv6/ipv6_sockglue.c:1100:13: sparse:     got int [noderef] __user *optlen
>> net/ipv6/ipv6_sockglue.c:1101:13: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int *__pu_addr @@     got unsigned int [noderef] __user * @@
>> net/ipv6/ipv6_sockglue.c:1101:13: sparse:     expected unsigned int *__pu_addr
   net/ipv6/ipv6_sockglue.c:1101:13: sparse:     got unsigned int [noderef] __user *
   net/ipv6/ipv6_sockglue.c:1102:13: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int *__pu_addr @@     got unsigned int [noderef] __user * @@
   net/ipv6/ipv6_sockglue.c:1102:13: sparse:     expected unsigned int *__pu_addr
   net/ipv6/ipv6_sockglue.c:1102:13: sparse:     got unsigned int [noderef] __user *
   net/ipv6/ipv6_sockglue.c:1117:13: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected int const *__gu_addr @@     got int [noderef] __user *optlen @@
   net/ipv6/ipv6_sockglue.c:1117:13: sparse:     expected int const *__gu_addr
   net/ipv6/ipv6_sockglue.c:1117:13: sparse:     got int [noderef] __user *optlen
   net/ipv6/ipv6_sockglue.c:1141:33: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *msg_control @@     got char [noderef] __user *optval @@
   net/ipv6/ipv6_sockglue.c:1141:33: sparse:     expected void *msg_control
   net/ipv6/ipv6_sockglue.c:1141:33: sparse:     got char [noderef] __user *optval
   net/ipv6/ipv6_sockglue.c:1187:24: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected int *__pu_addr @@     got int [noderef] __user *optlen @@
   net/ipv6/ipv6_sockglue.c:1187:24: sparse:     expected int *__pu_addr
   net/ipv6/ipv6_sockglue.c:1187:24: sparse:     got int [noderef] __user *optlen
   net/ipv6/ipv6_sockglue.c:1247:24: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected int *__pu_addr @@     got int [noderef] __user *optlen @@
   net/ipv6/ipv6_sockglue.c:1247:24: sparse:     expected int *__pu_addr
   net/ipv6/ipv6_sockglue.c:1247:24: sparse:     got int [noderef] __user *optlen
   net/ipv6/ipv6_sockglue.c:1301:21: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected int *__pu_addr @@     got int [noderef] __user *optlen @@
   net/ipv6/ipv6_sockglue.c:1301:21: sparse:     expected int *__pu_addr
   net/ipv6/ipv6_sockglue.c:1301:21: sparse:     got int [noderef] __user *optlen
   net/ipv6/ipv6_sockglue.c:1395:21: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected int *__pu_addr @@     got int [noderef] __user *optlen @@
   net/ipv6/ipv6_sockglue.c:1395:21: sparse:     expected int *__pu_addr
   net/ipv6/ipv6_sockglue.c:1395:21: sparse:     got int [noderef] __user *optlen
   net/ipv6/ipv6_sockglue.c:1445:13: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected int *__pu_addr @@     got int [noderef] __user *optlen @@
   net/ipv6/ipv6_sockglue.c:1445:13: sparse:     expected int *__pu_addr
   net/ipv6/ipv6_sockglue.c:1445:13: sparse:     got int [noderef] __user *optlen
   arch/openrisc/include/asm/cmpxchg.h:101:29: sparse: sparse: shift too big (32) for type int
   arch/openrisc/include/asm/cmpxchg.h:101:29: sparse: sparse: shift too big (32) for type int
   arch/openrisc/include/asm/cmpxchg.h:101:29: sparse: sparse: shift too big (32) for type int
   arch/openrisc/include/asm/cmpxchg.h:101:29: sparse: sparse: shift too big (32) for type int
   include/linux/uaccess.h:131:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *to @@     got void [noderef] __user *to @@
   include/linux/uaccess.h:131:38: sparse:     expected void *to
   include/linux/uaccess.h:131:38: sparse:     got void [noderef] __user *to
   include/linux/uaccess.h:131:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const [noderef] __user *from @@     got void const *from @@
   include/linux/uaccess.h:131:42: sparse:     expected void const [noderef] __user *from
   include/linux/uaccess.h:131:42: sparse:     got void const *from
   arch/openrisc/include/asm/uaccess.h:246:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const *from @@     got void const [noderef] __user *from @@
   arch/openrisc/include/asm/uaccess.h:246:55: sparse:     expected void const *from
   arch/openrisc/include/asm/uaccess.h:246:55: sparse:     got void const [noderef] __user *from
   include/linux/uaccess.h:131:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *to @@     got void [noderef] __user *to @@
   include/linux/uaccess.h:131:38: sparse:     expected void *to
   include/linux/uaccess.h:131:38: sparse:     got void [noderef] __user *to
   include/linux/uaccess.h:131:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const [noderef] __user *from @@     got void const *from @@
   include/linux/uaccess.h:131:42: sparse:     expected void const [noderef] __user *from
   include/linux/uaccess.h:131:42: sparse:     got void const *from
   arch/openrisc/include/asm/uaccess.h:246:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const *from @@     got void const [noderef] __user *from @@
   arch/openrisc/include/asm/uaccess.h:246:55: sparse:     expected void const *from
   arch/openrisc/include/asm/uaccess.h:246:55: sparse:     got void const [noderef] __user *from
   include/linux/uaccess.h:131:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *to @@     got void [noderef] __user *to @@
   include/linux/uaccess.h:131:38: sparse:     expected void *to
   include/linux/uaccess.h:131:38: sparse:     got void [noderef] __user *to
   include/linux/uaccess.h:131:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const [noderef] __user *from @@     got void const *from @@
   include/linux/uaccess.h:131:42: sparse:     expected void const [noderef] __user *from
   include/linux/uaccess.h:131:42: sparse:     got void const *from
   arch/openrisc/include/asm/uaccess.h:246:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const *from @@     got void const [noderef] __user *from @@
   arch/openrisc/include/asm/uaccess.h:246:55: sparse:     expected void const *from
   arch/openrisc/include/asm/uaccess.h:246:55: sparse:     got void const [noderef] __user *from
   include/linux/uaccess.h:131:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *to @@     got void [noderef] __user *to @@
   include/linux/uaccess.h:131:38: sparse:     expected void *to
   include/linux/uaccess.h:131:38: sparse:     got void [noderef] __user *to
   include/linux/uaccess.h:131:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const [noderef] __user *from @@     got void const *from @@
   include/linux/uaccess.h:131:42: sparse:     expected void const [noderef] __user *from
   include/linux/uaccess.h:131:42: sparse:     got void const *from
   arch/openrisc/include/asm/uaccess.h:246:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const *from @@     got void const [noderef] __user *from @@
   arch/openrisc/include/asm/uaccess.h:246:55: sparse:     expected void const *from
   arch/openrisc/include/asm/uaccess.h:246:55: sparse:     got void const [noderef] __user *from
   include/linux/uaccess.h:131:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *to @@     got void [noderef] __user *to @@
   include/linux/uaccess.h:131:38: sparse:     expected void *to
   include/linux/uaccess.h:131:38: sparse:     got void [noderef] __user *to
   include/linux/uaccess.h:131:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const [noderef] __user *from @@     got void const *from @@
   include/linux/uaccess.h:131:42: sparse:     expected void const [noderef] __user *from
   include/linux/uaccess.h:131:42: sparse:     got void const *from
   arch/openrisc/include/asm/uaccess.h:246:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const *from @@     got void const [noderef] __user *from @@
   arch/openrisc/include/asm/uaccess.h:246:55: sparse:     expected void const *from
   arch/openrisc/include/asm/uaccess.h:246:55: sparse:     got void const [noderef] __user *from

vim +1101 net/ipv6/ipv6_sockglue.c

^1da177e4c3f41 Linus Torvalds    2005-04-16  1066  
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1067  static int compat_ipv6_get_msfilter(struct sock *sk, void __user *optval,
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1068  		int __user *optlen)
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1069  {
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1070  	const int size0 = offsetof(struct compat_group_filter, gf_slist);
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1071  	struct compat_group_filter __user *p = optval;
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1072  	struct compat_group_filter gf32;
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1073  	struct group_filter gf;
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1074  	int len, err;
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1075  	int num;
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1076  
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1077  	if (get_user(len, optlen))
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1078  		return -EFAULT;
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1079  	if (len < size0)
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1080  		return -EINVAL;
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1081  
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1082  	if (copy_from_user(&gf32, p, size0))
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1083  		return -EFAULT;
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1084  	gf.gf_interface = gf32.gf_interface;
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1085  	gf.gf_fmode = gf32.gf_fmode;
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1086  	num = gf.gf_numsrc = gf32.gf_numsrc;
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1087  	gf.gf_group = gf32.gf_group;
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1088  
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1089  	if (gf.gf_group.ss_family != AF_INET6)
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1090  		return -EADDRNOTAVAIL;
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1091  
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1092  	lock_sock(sk);
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1093  	err = ip6_mc_msfget(sk, &gf, p->gf_slist);
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1094  	release_sock(sk);
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1095  	if (err)
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1096  		return err;
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1097  	if (num > gf.gf_numsrc)
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1098  		num = gf.gf_numsrc;
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1099  	len = GROUP_FILTER_SIZE(num) - (sizeof(gf)-sizeof(gf32));
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1100  	if (put_user(len, optlen) ||
f5cfb1759cdde7 Christoph Hellwig 2020-07-15 @1101  	    put_user(gf.gf_fmode, &p->gf_fmode) ||
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1102  	    put_user(gf.gf_numsrc, &p->gf_numsrc))
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1103  		return -EFAULT;
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1104  	return 0;
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1105  }
f5cfb1759cdde7 Christoph Hellwig 2020-07-15  1106  

:::::: The code at line 1101 was first introduced by commit
:::::: f5cfb1759cdde7d190afcd889b46eb82888469e5 net/ipv6: factor out MCAST_MSFILTER getsockopt helpers

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

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

only message in thread, other threads:[~2020-07-17 15:20 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-17 15:20 [hch-misc:sockopt-cleanups 21/22] net/ipv6/ipv6_sockglue.c:1101:13: sparse: sparse: incorrect type in initializer (different address spaces) 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.