* [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.