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 <l...@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 <st...@chygwyn.com>
:::::: CC: David S. Miller <da...@davemloft.net>

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

Attachment: .config.gz
Description: application/gzip

Reply via email to