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
.config.gz
Description: application/gzip