lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <201906221828.RndHkR8Y%lkp@intel.com>
Date:   Sat, 22 Jun 2019 18:40:35 +0800
From:   kbuild test robot <lkp@...el.com>
To:     Suwan Kim <suwan.kim027@...il.com>
Cc:     kbuild-all@...org, shuah@...nel.org, stern@...land.harvard.edu,
        valentina.manea.m@...il.com, gregkh@...uxfoundation.org,
        linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org,
        Suwan Kim <suwan.kim027@...il.com>
Subject: Re: [PATCH 2/2] usbip: Implement SG support to vhci

Hi Suwan,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on usb/usb-testing]
[also build test WARNING on v5.2-rc5 next-20190621]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Suwan-Kim/usbip-Skip-DMA-mapping-and-unmapping-for-urb-at-vhci/20190622-130016
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.1-rc1-7-g2b96cd8-dirty
        make ARCH=x86_64 allmodconfig
        make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@...el.com>


sparse warnings: (new ones prefixed by >>)

   drivers/usb/usbip/usbip_common.c:419:33: sparse: sparse: incorrect type in assignment (different base types) @@    expected unsigned int [usertype] command @@    got restrunsigned int [usertype] command @@
   drivers/usb/usbip/usbip_common.c:419:33: sparse:    expected unsigned int [usertype] command
   drivers/usb/usbip/usbip_common.c:419:33: sparse:    got restricted __be32 [usertype]
   drivers/usb/usbip/usbip_common.c:420:33: sparse: sparse: incorrect type in assignment (different base types) @@    expected unsigned int [usertype] seqnum @@    got restrunsigned int [usertype] seqnum @@
   drivers/usb/usbip/usbip_common.c:420:33: sparse:    expected unsigned int [usertype] seqnum
   drivers/usb/usbip/usbip_common.c:420:33: sparse:    got restricted __be32 [usertype]
   drivers/usb/usbip/usbip_common.c:421:33: sparse: sparse: incorrect type in assignment (different base types) @@    expected unsigned int [usertype] devid @@    got restrunsigned int [usertype] devid @@
   drivers/usb/usbip/usbip_common.c:421:33: sparse:    expected unsigned int [usertype] devid
   drivers/usb/usbip/usbip_common.c:421:33: sparse:    got restricted __be32 [usertype]
   drivers/usb/usbip/usbip_common.c:422:33: sparse: sparse: incorrect type in assignment (different base types) @@    expected unsigned int [usertype] direction @@    got restrunsigned int [usertype] direction @@
   drivers/usb/usbip/usbip_common.c:422:33: sparse:    expected unsigned int [usertype] direction
   drivers/usb/usbip/usbip_common.c:422:33: sparse:    got restricted __be32 [usertype]
   drivers/usb/usbip/usbip_common.c:423:33: sparse: sparse: incorrect type in assignment (different base types) @@    expected unsigned int [usertype] ep @@    got restrunsigned int [usertype] ep @@
   drivers/usb/usbip/usbip_common.c:423:33: sparse:    expected unsigned int [usertype] ep
   drivers/usb/usbip/usbip_common.c:423:33: sparse:    got restricted __be32 [usertype]
   drivers/usb/usbip/usbip_common.c:425:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:425:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:425:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:425:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:425:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:425:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:426:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:426:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:426:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:426:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:426:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:426:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:427:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:427:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:427:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:427:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:427:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:427:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:428:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:428:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:428:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:428:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:428:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:428:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:429:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:429:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:429:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:429:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:429:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:429:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:437:37: sparse: sparse: incorrect type in assignment (different base types) @@    expected unsigned int [usertype] transfer_flags @@    got restrunsigned int [usertype] transfer_flags @@
   drivers/usb/usbip/usbip_common.c:437:37: sparse:    expected unsigned int [usertype] transfer_flags
   drivers/usb/usbip/usbip_common.c:437:37: sparse:    got restricted __be32 [usertype]
>> drivers/usb/usbip/usbip_common.c:438:30: sparse: sparse: incorrect type in assignment (different base types) @@    expected unsigned int [usertype] num_sgs @@    got restrunsigned int [usertype] num_sgs @@
>> drivers/usb/usbip/usbip_common.c:438:30: sparse:    expected unsigned int [usertype] num_sgs
   drivers/usb/usbip/usbip_common.c:438:30: sparse:    got restricted __be32 [usertype]
   drivers/usb/usbip/usbip_common.c:445:39: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:445:39: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:445:39: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:445:39: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:445:39: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:445:39: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:446:32: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:446:32: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:446:32: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:446:32: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:446:32: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:446:32: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:477:29: sparse: sparse: incorrect type in assignment (different base types) @@    expected unsigned int [usertype] seqnum @@    got restrunsigned int [usertype] seqnum @@
   drivers/usb/usbip/usbip_common.c:477:29: sparse:    expected unsigned int [usertype] seqnum
   drivers/usb/usbip/usbip_common.c:477:29: sparse:    got restricted __be32 [usertype]
   drivers/usb/usbip/usbip_common.c:479:31: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:479:31: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:479:31: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:479:31: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:479:31: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:479:31: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:529:33: sparse: sparse: incorrect type in assignment (different base types) @@    expected unsigned int [usertype] offset @@    got restrunsigned int [usertype] offset @@
   drivers/usb/usbip/usbip_common.c:529:33: sparse:    expected unsigned int [usertype] offset
   drivers/usb/usbip/usbip_common.c:529:33: sparse:    got restricted __be32 [usertype]
   drivers/usb/usbip/usbip_common.c:530:33: sparse: sparse: incorrect type in assignment (different base types) @@    expected unsigned int [usertype] length @@    got restrunsigned int [usertype] length @@
   drivers/usb/usbip/usbip_common.c:530:33: sparse:    expected unsigned int [usertype] length
   drivers/usb/usbip/usbip_common.c:530:33: sparse:    got restricted __be32 [usertype]
   drivers/usb/usbip/usbip_common.c:531:33: sparse: sparse: incorrect type in assignment (different base types) @@    expected unsigned int [usertype] status @@    got restrunsigned int [usertype] status @@
   drivers/usb/usbip/usbip_common.c:531:33: sparse:    expected unsigned int [usertype] status
   drivers/usb/usbip/usbip_common.c:531:33: sparse:    got restricted __be32 [usertype]
   drivers/usb/usbip/usbip_common.c:532:36: sparse: sparse: incorrect type in assignment (different base types) @@    expected unsigned int [usertype] actual_length @@    got restrunsigned int [usertype] actual_length @@
   drivers/usb/usbip/usbip_common.c:532:36: sparse:    expected unsigned int [usertype] actual_length
   drivers/usb/usbip/usbip_common.c:532:36: sparse:    got restricted __be32 [usertype]
   drivers/usb/usbip/usbip_common.c:534:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:534:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:534:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:534:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:534:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:534:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:535:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:535:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:535:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:535:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:535:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:535:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:536:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:536:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:536:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:536:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:536:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:536:35: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:537:38: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:537:38: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:537:38: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:537:38: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:537:38: sparse: sparse: cast to restricted __be32
   drivers/usb/usbip/usbip_common.c:537:38: sparse: sparse: cast to restricted __be32

vim +438 drivers/usb/usbip/usbip_common.c

   415	
   416	static void correct_endian_basic(struct usbip_header_basic *base, int send)
   417	{
   418		if (send) {
   419			base->command	= cpu_to_be32(base->command);
   420			base->seqnum	= cpu_to_be32(base->seqnum);
   421			base->devid	= cpu_to_be32(base->devid);
   422			base->direction	= cpu_to_be32(base->direction);
   423			base->ep	= cpu_to_be32(base->ep);
   424		} else {
   425			base->command	= be32_to_cpu(base->command);
   426			base->seqnum	= be32_to_cpu(base->seqnum);
   427			base->devid	= be32_to_cpu(base->devid);
   428			base->direction	= be32_to_cpu(base->direction);
 > 429			base->ep	= be32_to_cpu(base->ep);
   430		}
   431	}
   432	
   433	static void correct_endian_cmd_submit(struct usbip_header_cmd_submit *pdu,
   434					      int send)
   435	{
   436		if (send) {
   437			pdu->transfer_flags = cpu_to_be32(pdu->transfer_flags);
 > 438			pdu->num_sgs = cpu_to_be32(pdu->num_sgs);
   439	
   440			cpu_to_be32s(&pdu->transfer_buffer_length);
   441			cpu_to_be32s(&pdu->start_frame);
   442			cpu_to_be32s(&pdu->number_of_packets);
   443			cpu_to_be32s(&pdu->interval);
   444		} else {
   445			pdu->transfer_flags = be32_to_cpu(pdu->transfer_flags);
   446			pdu->num_sgs = be32_to_cpu(pdu->num_sgs);
   447	
   448			be32_to_cpus(&pdu->transfer_buffer_length);
   449			be32_to_cpus(&pdu->start_frame);
   450			be32_to_cpus(&pdu->number_of_packets);
   451			be32_to_cpus(&pdu->interval);
   452		}
   453	}
   454	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ