lkml.org 
[lkml]   [2020]   [Jul]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectnet/core/pktgen.c:720:21: sparse: sparse: incorrect type in argument 1 (different address spaces)
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: f37e99aca03f63aa3f2bd13ceaf769455d12c4b0
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 5 weeks ago
config: sh-randconfig-s031-20200724 (attached as .config)
compiler: sh4-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-93-g4c6cbe55-dirty
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
# 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=sh

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/core/pktgen.c:720:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected char const *__gu_addr @@ got char const [noderef] __user * @@
net/core/pktgen.c:720:21: sparse: expected char const *__gu_addr
net/core/pktgen.c:720:21: sparse: got char const [noderef] __user *
>> net/core/pktgen.c:720:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got char const *__gu_addr @@
>> net/core/pktgen.c:720:21: sparse: expected void const volatile [noderef] __user *
net/core/pktgen.c:720:21: sparse: got char const *__gu_addr
net/core/pktgen.c:738:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected char const *__gu_addr @@ got char const [noderef] __user * @@
net/core/pktgen.c:738:21: sparse: expected char const *__gu_addr
net/core/pktgen.c:738:21: sparse: got char const [noderef] __user *
net/core/pktgen.c:738:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got char const *__gu_addr @@
net/core/pktgen.c:738:21: sparse: expected void const volatile [noderef] __user *
net/core/pktgen.c:738:21: sparse: got char const *__gu_addr
net/core/pktgen.c:764:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected char const *__gu_addr @@ got char const [noderef] __user * @@
net/core/pktgen.c:764:21: sparse: expected char const *__gu_addr
net/core/pktgen.c:764:21: sparse: got char const [noderef] __user *
net/core/pktgen.c:764:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got char const *__gu_addr @@
net/core/pktgen.c:764:21: sparse: expected void const volatile [noderef] __user *
net/core/pktgen.c:764:21: sparse: got char const *__gu_addr
net/core/pktgen.c:781:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected char const *__gu_addr @@ got char const [noderef] __user * @@
net/core/pktgen.c:781:21: sparse: expected char const *__gu_addr
net/core/pktgen.c:781:21: sparse: got char const [noderef] __user *
net/core/pktgen.c:781:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got char const *__gu_addr @@
net/core/pktgen.c:781:21: sparse: expected void const volatile [noderef] __user *
net/core/pktgen.c:781:21: sparse: got char const *__gu_addr
net/core/pktgen.c:815:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected char const *__gu_addr @@ got char const [noderef] __user * @@
net/core/pktgen.c:815:21: sparse: expected char const *__gu_addr
net/core/pktgen.c:815:21: sparse: got char const [noderef] __user *
net/core/pktgen.c:815:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got char const *__gu_addr @@
net/core/pktgen.c:815:21: sparse: expected void const volatile [noderef] __user *
net/core/pktgen.c:815:21: sparse: got char const *__gu_addr
--
>> fs/nfsd/nfs4recover.c:800:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned char const *__gu_addr @@ got unsigned char const [noderef] __user * @@
fs/nfsd/nfs4recover.c:800:13: sparse: expected unsigned char const *__gu_addr
>> fs/nfsd/nfs4recover.c:800:13: sparse: got unsigned char const [noderef] __user *
>> fs/nfsd/nfs4recover.c:800:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned char const *__gu_addr @@
>> fs/nfsd/nfs4recover.c:800:13: sparse: expected void const volatile [noderef] __user *
fs/nfsd/nfs4recover.c:800:13: sparse: got unsigned char const *__gu_addr
>> fs/nfsd/nfs4recover.c:809:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned short const *__gu_addr @@ got unsigned short const [noderef] __user * @@
fs/nfsd/nfs4recover.c:809:29: sparse: expected unsigned short const *__gu_addr
>> fs/nfsd/nfs4recover.c:809:29: sparse: got unsigned short const [noderef] __user *
>> fs/nfsd/nfs4recover.c:809:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned short const *__gu_addr @@
fs/nfsd/nfs4recover.c:809:29: sparse: expected void const volatile [noderef] __user *
fs/nfsd/nfs4recover.c:809:29: sparse: got unsigned short const *__gu_addr
fs/nfsd/nfs4recover.c:815:25: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned char const *__gu_addr @@ got unsigned char const [noderef] __user * @@
fs/nfsd/nfs4recover.c:815:25: sparse: expected unsigned char const *__gu_addr
fs/nfsd/nfs4recover.c:815:25: sparse: got unsigned char const [noderef] __user *
fs/nfsd/nfs4recover.c:815:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned char const *__gu_addr @@
fs/nfsd/nfs4recover.c:815:25: sparse: expected void const volatile [noderef] __user *
fs/nfsd/nfs4recover.c:815:25: sparse: got unsigned char const *__gu_addr
fs/nfsd/nfs4recover.c:829:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned short const *__gu_addr @@ got unsigned short const [noderef] __user * @@
fs/nfsd/nfs4recover.c:829:29: sparse: expected unsigned short const *__gu_addr
fs/nfsd/nfs4recover.c:829:29: sparse: got unsigned short const [noderef] __user *
fs/nfsd/nfs4recover.c:829:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got unsigned short const *__gu_addr @@
fs/nfsd/nfs4recover.c:829:29: sparse: expected void const volatile [noderef] __user *
fs/nfsd/nfs4recover.c:829:29: sparse: got unsigned short const *__gu_addr
>> fs/nfsd/nfs4recover.c:880:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected signed short const *__gu_addr @@ got signed short [noderef] __user * @@
fs/nfsd/nfs4recover.c:880:13: sparse: expected signed short const *__gu_addr
>> fs/nfsd/nfs4recover.c:880:13: sparse: got signed short [noderef] __user *
>> fs/nfsd/nfs4recover.c:880:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got signed short const *__gu_addr @@
fs/nfsd/nfs4recover.c:880:13: sparse: expected void const volatile [noderef] __user *
fs/nfsd/nfs4recover.c:880:13: sparse: got signed short const *__gu_addr
--
net/ipv6/ip6mr.c:1721:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
net/ipv6/ip6mr.c:1721:21: sparse: expected int const *__gu_addr
net/ipv6/ip6mr.c:1721:21: sparse: got int [noderef] __user *
>> net/ipv6/ip6mr.c:1721:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
>> net/ipv6/ip6mr.c:1721:21: sparse: expected void const volatile [noderef] __user *
net/ipv6/ip6mr.c:1721:21: sparse: got int const *__gu_addr
net/ipv6/ip6mr.c:1738:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
net/ipv6/ip6mr.c:1738:21: sparse: expected int const *__gu_addr
net/ipv6/ip6mr.c:1738:21: sparse: got int [noderef] __user *
net/ipv6/ip6mr.c:1738:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
net/ipv6/ip6mr.c:1738:21: sparse: expected void const volatile [noderef] __user *
net/ipv6/ip6mr.c:1738:21: sparse: got int const *__gu_addr
net/ipv6/ip6mr.c:1751:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
net/ipv6/ip6mr.c:1751:21: sparse: expected int const *__gu_addr
net/ipv6/ip6mr.c:1751:21: sparse: got int [noderef] __user *
net/ipv6/ip6mr.c:1751:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
net/ipv6/ip6mr.c:1751:21: sparse: expected void const volatile [noderef] __user *
net/ipv6/ip6mr.c:1751:21: sparse: got int const *__gu_addr
net/ipv6/ip6mr.c:1836:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *optlen @@
net/ipv6/ip6mr.c:1836:13: sparse: expected int const *__gu_addr
net/ipv6/ip6mr.c:1836:13: sparse: got int [noderef] __user *optlen
net/ipv6/ip6mr.c:1836:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
net/ipv6/ip6mr.c:1836:13: sparse: expected void const volatile [noderef] __user *
net/ipv6/ip6mr.c:1836:13: sparse: got int const *__gu_addr
net/ipv6/ip6mr.c:405:13: sparse: sparse: context imbalance in 'ip6mr_vif_seq_start' - different lock contexts for basic block
net/ipv6/ip6mr.c: note: in included file (through include/linux/mroute6.h):
include/linux/mroute_base.h:427:31: sparse: sparse: context imbalance in 'mr_mfc_seq_stop' - unexpected unlock
--
net/kcm/kcmsock.c:1280:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
net/kcm/kcmsock.c:1280:13: sparse: expected int const *__gu_addr
net/kcm/kcmsock.c:1280:13: sparse: got int [noderef] __user *
>> net/kcm/kcmsock.c:1280:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
>> net/kcm/kcmsock.c:1280:13: sparse: expected void const volatile [noderef] __user *
net/kcm/kcmsock.c:1280:13: sparse: got int const *__gu_addr
net/kcm/kcmsock.c:1310:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *optlen @@
net/kcm/kcmsock.c:1310:13: sparse: expected int const *__gu_addr
net/kcm/kcmsock.c:1310:13: sparse: got int [noderef] __user *optlen
net/kcm/kcmsock.c:1310:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
net/kcm/kcmsock.c:1310:13: sparse: expected void const volatile [noderef] __user *
net/kcm/kcmsock.c:1310:13: sparse: got int const *__gu_addr
--
net/sctp/socket.c:2221:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
net/sctp/socket.c:2221:13: sparse: expected int const *__gu_addr
net/sctp/socket.c:2221:13: sparse: got int [noderef] __user *
>> net/sctp/socket.c:2221:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
>> net/sctp/socket.c:2221:13: sparse: expected void const volatile [noderef] __user *
net/sctp/socket.c:2221:13: sparse: got int const *__gu_addr
net/sctp/socket.c:3092:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
net/sctp/socket.c:3092:13: sparse: expected int const *__gu_addr
net/sctp/socket.c:3092:13: sparse: got int [noderef] __user *
net/sctp/socket.c:3092:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
net/sctp/socket.c:3092:13: sparse: expected void const volatile [noderef] __user *
net/sctp/socket.c:3092:13: sparse: got int const *__gu_addr
net/sctp/socket.c:3252:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
net/sctp/socket.c:3252:13: sparse: expected int const *__gu_addr
net/sctp/socket.c:3252:13: sparse: got int [noderef] __user *
net/sctp/socket.c:3252:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
net/sctp/socket.c:3252:13: sparse: expected void const volatile [noderef] __user *
net/sctp/socket.c:3252:13: sparse: got int const *__gu_addr
net/sctp/socket.c:3512:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
net/sctp/socket.c:3512:13: sparse: expected int const *__gu_addr
net/sctp/socket.c:3512:13: sparse: got int [noderef] __user *
net/sctp/socket.c:3512:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
net/sctp/socket.c:3512:13: sparse: expected void const volatile [noderef] __user *
net/sctp/socket.c:3512:13: sparse: got int const *__gu_addr
net/sctp/socket.c:3548:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
net/sctp/socket.c:3548:13: sparse: expected int const *__gu_addr
net/sctp/socket.c:3548:13: sparse: got int [noderef] __user *
net/sctp/socket.c:3548:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
net/sctp/socket.c:3548:13: sparse: expected void const volatile [noderef] __user *
net/sctp/socket.c:3548:13: sparse: got int const *__gu_addr
net/sctp/socket.c:3937:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
net/sctp/socket.c:3937:13: sparse: expected int const *__gu_addr
net/sctp/socket.c:3937:13: sparse: got int [noderef] __user *
net/sctp/socket.c:3937:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
net/sctp/socket.c:3937:13: sparse: expected void const volatile [noderef] __user *
net/sctp/socket.c:3937:13: sparse: got int const *__gu_addr
net/sctp/socket.c:4038:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
net/sctp/socket.c:4038:13: sparse: expected int const *__gu_addr
net/sctp/socket.c:4038:13: sparse: got int [noderef] __user *
net/sctp/socket.c:4038:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
net/sctp/socket.c:4038:13: sparse: expected void const volatile [noderef] __user *
net/sctp/socket.c:4038:13: sparse: got int const *__gu_addr
net/sctp/socket.c:4054:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
net/sctp/socket.c:4054:13: sparse: expected int const *__gu_addr
net/sctp/socket.c:4054:13: sparse: got int [noderef] __user *
net/sctp/socket.c:4054:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
net/sctp/socket.c:4054:13: sparse: expected void const volatile [noderef] __user *
net/sctp/socket.c:4054:13: sparse: got int const *__gu_addr
net/sctp/socket.c:4443:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
net/sctp/socket.c:4443:13: sparse: expected int const *__gu_addr
net/sctp/socket.c:4443:13: sparse: got int [noderef] __user *
net/sctp/socket.c:4443:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
net/sctp/socket.c:4443:13: sparse: expected void const volatile [noderef] __user *
net/sctp/socket.c:4443:13: sparse: got int const *__gu_addr
net/sctp/socket.c:8051:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *optlen @@
net/sctp/socket.c:8051:13: sparse: expected int const *__gu_addr
net/sctp/socket.c:8051:13: sparse: got int [noderef] __user *optlen
net/sctp/socket.c:8051:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user * @@ got int const *__gu_addr @@
net/sctp/socket.c:8051:13: sparse: expected void const volatile [noderef] __user *
net/sctp/socket.c:8051:13: sparse: got int const *__gu_addr
net/sctp/socket.c:8447:20: sparse: sparse: context imbalance in 'sctp_get_port_local' - unexpected unlock

vim +720 net/core/pktgen.c

^1da177e4c3f41 Linus Torvalds 2005-04-16 708
ca6549af77f0f2 Steven Whitehouse 2006-03-23 709
63adc6fb8ac0de Stephen Hemminger 2009-08-27 710 static int hex32_arg(const char __user *user_buffer, unsigned long maxlen,
63adc6fb8ac0de Stephen Hemminger 2009-08-27 711 __u32 *num)
ca6549af77f0f2 Steven Whitehouse 2006-03-23 712 {
ca6549af77f0f2 Steven Whitehouse 2006-03-23 713 int i = 0;
ca6549af77f0f2 Steven Whitehouse 2006-03-23 714 *num = 0;
ca6549af77f0f2 Steven Whitehouse 2006-03-23 715
1ca7768c87ac13 Francesco Fondelli 2006-09-27 716 for (; i < maxlen; i++) {
82fd5b5d1ec370 Andy Shevchenko 2010-09-20 717 int value;
ca6549af77f0f2 Steven Whitehouse 2006-03-23 718 char c;
ca6549af77f0f2 Steven Whitehouse 2006-03-23 719 *num <<= 4;
ca6549af77f0f2 Steven Whitehouse 2006-03-23 @720 if (get_user(c, &user_buffer[i]))
ca6549af77f0f2 Steven Whitehouse 2006-03-23 721 return -EFAULT;
82fd5b5d1ec370 Andy Shevchenko 2010-09-20 722 value = hex_to_bin(c);
82fd5b5d1ec370 Andy Shevchenko 2010-09-20 723 if (value >= 0)
82fd5b5d1ec370 Andy Shevchenko 2010-09-20 724 *num |= value;
ca6549af77f0f2 Steven Whitehouse 2006-03-23 725 else
ca6549af77f0f2 Steven Whitehouse 2006-03-23 726 break;
ca6549af77f0f2 Steven Whitehouse 2006-03-23 727 }
ca6549af77f0f2 Steven Whitehouse 2006-03-23 728 return i;
ca6549af77f0f2 Steven Whitehouse 2006-03-23 729 }
ca6549af77f0f2 Steven Whitehouse 2006-03-23 730

:::::: The code at line 720 was first introduced by commit
:::::: ca6549af77f0f28ac5d23b662fb8f72713eb16d3 [PKTGEN]: Add MPLS extension.

:::::: TO: Steven Whitehouse <steve@chygwyn.com>
:::::: CC: David S. Miller <davem@davemloft.net>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[unhandled content-type:application/gzip]
\
 
 \ /
  Last update: 2020-07-24 08:51    [W:0.278 / U:0.132 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site