Hi Luc,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   4da9f3302615f4191814f826054846bf843e24fa
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to 
define address spaces
date:   7 weeks ago
config: openrisc-randconfig-s031-20200805 (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-117-g8c7aee71-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=openrisc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>


sparse warnings: (new ones prefixed by >>)

   drivers/usb/host/ohci-hcd.c: note: in included file:
>> drivers/usb/host/ohci-sm501.c:177:20: sparse: sparse: incorrect type in 
>> argument 1 (different address spaces) @@     expected void *addr @@     got 
>> void [noderef] __iomem *regs @@
   drivers/usb/host/ohci-sm501.c:177:20: sparse:     expected void *addr
>> drivers/usb/host/ohci-sm501.c:177:20: sparse:     got void [noderef] __iomem 
>> *regs
   drivers/usb/host/ohci-hcd.c: note: in included file (through 
arch/openrisc/include/asm/io.h, include/linux/io.h, include/linux/irq.h, ...):
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 
1 (different base types) @@     expected unsigned int [usertype] value @@     
got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int 
[usertype] value
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]

vim +177 drivers/usb/host/ohci-sm501.c

f54aab6ebcecd9 Magnus Damm     2008-01-23   87  
f54aab6ebcecd9 Magnus Damm     2008-01-23   88  static int 
ohci_hcd_sm501_drv_probe(struct platform_device *pdev)
f54aab6ebcecd9 Magnus Damm     2008-01-23   89  {
f54aab6ebcecd9 Magnus Damm     2008-01-23   90          const struct hc_driver 
*driver = &ohci_sm501_hc_driver;
f54aab6ebcecd9 Magnus Damm     2008-01-23   91          struct device *dev = 
&pdev->dev;
f54aab6ebcecd9 Magnus Damm     2008-01-23   92          struct resource *res, 
*mem;
f54aab6ebcecd9 Magnus Damm     2008-01-23   93          int retval, irq;
af3d305ca71fea Harvey Harrison 2008-04-30   94          struct usb_hcd *hcd = 
NULL;
f54aab6ebcecd9 Magnus Damm     2008-01-23   95  
f54aab6ebcecd9 Magnus Damm     2008-01-23   96          irq = retval = 
platform_get_irq(pdev, 0);
f54aab6ebcecd9 Magnus Damm     2008-01-23   97          if (retval < 0)
f54aab6ebcecd9 Magnus Damm     2008-01-23   98                  goto err0;
f54aab6ebcecd9 Magnus Damm     2008-01-23   99  
f54aab6ebcecd9 Magnus Damm     2008-01-23  100          mem = 
platform_get_resource(pdev, IORESOURCE_MEM, 1);
f54aab6ebcecd9 Magnus Damm     2008-01-23  101          if (mem == NULL) {
f54aab6ebcecd9 Magnus Damm     2008-01-23  102                  dev_err(dev, 
"no resource definition for memory\n");
f54aab6ebcecd9 Magnus Damm     2008-01-23  103                  retval = 
-ENOENT;
f54aab6ebcecd9 Magnus Damm     2008-01-23  104                  goto err0;
f54aab6ebcecd9 Magnus Damm     2008-01-23  105          }
f54aab6ebcecd9 Magnus Damm     2008-01-23  106  
28f65c11f2ffb3 Joe Perches     2011-06-09  107          if 
(!request_mem_region(mem->start, resource_size(mem), pdev->name)) {
f54aab6ebcecd9 Magnus Damm     2008-01-23  108                  dev_err(dev, 
"request_mem_region failed\n");
f54aab6ebcecd9 Magnus Damm     2008-01-23  109                  retval = -EBUSY;
f54aab6ebcecd9 Magnus Damm     2008-01-23  110                  goto err0;
f54aab6ebcecd9 Magnus Damm     2008-01-23  111          }
f54aab6ebcecd9 Magnus Damm     2008-01-23  112  
f54aab6ebcecd9 Magnus Damm     2008-01-23  113          /* allocate, reserve 
and remap resources for registers */
f54aab6ebcecd9 Magnus Damm     2008-01-23  114          res = 
platform_get_resource(pdev, IORESOURCE_MEM, 0);
f54aab6ebcecd9 Magnus Damm     2008-01-23  115          if (res == NULL) {
f54aab6ebcecd9 Magnus Damm     2008-01-23  116                  dev_err(dev, 
"no resource definition for registers\n");
f54aab6ebcecd9 Magnus Damm     2008-01-23  117                  retval = 
-ENOENT;
7d9e6f5aebe8c0 Laurentiu Tudor 2019-05-29  118                  goto err1;
f54aab6ebcecd9 Magnus Damm     2008-01-23  119          }
f54aab6ebcecd9 Magnus Damm     2008-01-23  120  
7071a3ce0ca058 Kay Sievers     2008-05-02  121          hcd = 
usb_create_hcd(driver, &pdev->dev, dev_name(&pdev->dev));
f54aab6ebcecd9 Magnus Damm     2008-01-23  122          if (!hcd) {
f54aab6ebcecd9 Magnus Damm     2008-01-23  123                  retval = 
-ENOMEM;
7d9e6f5aebe8c0 Laurentiu Tudor 2019-05-29  124                  goto err1;
f54aab6ebcecd9 Magnus Damm     2008-01-23  125          }
f54aab6ebcecd9 Magnus Damm     2008-01-23  126  
f54aab6ebcecd9 Magnus Damm     2008-01-23  127          hcd->rsrc_start = 
res->start;
28f65c11f2ffb3 Joe Perches     2011-06-09  128          hcd->rsrc_len = 
resource_size(res);
f54aab6ebcecd9 Magnus Damm     2008-01-23  129  
f54aab6ebcecd9 Magnus Damm     2008-01-23  130          if 
(!request_mem_region(hcd->rsrc_start, hcd->rsrc_len, pdev->name)) {
f54aab6ebcecd9 Magnus Damm     2008-01-23  131                  dev_err(dev, 
"request_mem_region failed\n");
f54aab6ebcecd9 Magnus Damm     2008-01-23  132                  retval = -EBUSY;
f54aab6ebcecd9 Magnus Damm     2008-01-23  133                  goto err3;
f54aab6ebcecd9 Magnus Damm     2008-01-23  134          }
f54aab6ebcecd9 Magnus Damm     2008-01-23  135  
f54aab6ebcecd9 Magnus Damm     2008-01-23  136          hcd->regs = 
ioremap(hcd->rsrc_start, hcd->rsrc_len);
f54aab6ebcecd9 Magnus Damm     2008-01-23  137          if (hcd->regs == NULL) {
f54aab6ebcecd9 Magnus Damm     2008-01-23  138                  dev_err(dev, 
"cannot remap registers\n");
f54aab6ebcecd9 Magnus Damm     2008-01-23  139                  retval = -ENXIO;
f54aab6ebcecd9 Magnus Damm     2008-01-23  140                  goto err4;
f54aab6ebcecd9 Magnus Damm     2008-01-23  141          }
f54aab6ebcecd9 Magnus Damm     2008-01-23  142  
f54aab6ebcecd9 Magnus Damm     2008-01-23  143          
ohci_hcd_init(hcd_to_ohci(hcd));
f54aab6ebcecd9 Magnus Damm     2008-01-23  144  
7d9e6f5aebe8c0 Laurentiu Tudor 2019-05-29  145          /* The sm501 chip is 
equipped with local memory that may be used
7d9e6f5aebe8c0 Laurentiu Tudor 2019-05-29  146           * by on-chip devices 
such as the video controller and the usb host.
7d9e6f5aebe8c0 Laurentiu Tudor 2019-05-29  147           * This driver uses 
genalloc so that usb allocations with
7d9e6f5aebe8c0 Laurentiu Tudor 2019-05-29  148           * gen_pool_dma_alloc() 
allocate from this local memory. The dma_handle
7d9e6f5aebe8c0 Laurentiu Tudor 2019-05-29  149           * returned by 
gen_pool_dma_alloc() will be an offset starting from 0
7d9e6f5aebe8c0 Laurentiu Tudor 2019-05-29  150           * for the first local 
memory byte.
7d9e6f5aebe8c0 Laurentiu Tudor 2019-05-29  151           *
7d9e6f5aebe8c0 Laurentiu Tudor 2019-05-29  152           * So as long as data 
is allocated using gen_pool_dma_alloc() all is
7d9e6f5aebe8c0 Laurentiu Tudor 2019-05-29  153           * fine. This is 
however not always the case - buffers may be allocated
7d9e6f5aebe8c0 Laurentiu Tudor 2019-05-29  154           * using kmalloc() - so 
the usb core needs to be told that it must copy
7d9e6f5aebe8c0 Laurentiu Tudor 2019-05-29  155           * data into our local 
memory if the buffers happen to be placed in
2d7a3dc3e24f43 Laurentiu Tudor 2019-05-29  156           * regular memory. A 
non-null hcd->localmem_pool initialized by the
2d7a3dc3e24f43 Laurentiu Tudor 2019-05-29  157           * the call to 
usb_hcd_setup_local_mem() below does just that.
7d9e6f5aebe8c0 Laurentiu Tudor 2019-05-29  158           */
7d9e6f5aebe8c0 Laurentiu Tudor 2019-05-29  159  
b919e077cccfbb Wei Yongjun     2020-05-06  160          retval = 
usb_hcd_setup_local_mem(hcd, mem->start,
7d9e6f5aebe8c0 Laurentiu Tudor 2019-05-29  161                                  
         mem->start - mem->parent->start,
b919e077cccfbb Wei Yongjun     2020-05-06  162                                  
         resource_size(mem));
b919e077cccfbb Wei Yongjun     2020-05-06  163          if (retval < 0)
7d9e6f5aebe8c0 Laurentiu Tudor 2019-05-29  164                  goto err5;
b5dd18d8747010 Yong Zhang      2011-09-07  165          retval = 
usb_add_hcd(hcd, irq, IRQF_SHARED);
f54aab6ebcecd9 Magnus Damm     2008-01-23  166          if (retval)
637ed74ff9e86d Dan Carpenter   2010-09-10  167                  goto err5;
3c9740a117d40a Peter Chen      2013-11-05  168          
device_wakeup_enable(hcd->self.controller);
f54aab6ebcecd9 Magnus Damm     2008-01-23  169  
f54aab6ebcecd9 Magnus Damm     2008-01-23  170          /* enable power and 
unmask interrupts */
f54aab6ebcecd9 Magnus Damm     2008-01-23  171  
f54aab6ebcecd9 Magnus Damm     2008-01-23  172          
sm501_unit_power(dev->parent, SM501_GATE_USB_HOST, 1);
f54aab6ebcecd9 Magnus Damm     2008-01-23  173          
sm501_modify_reg(dev->parent, SM501_IRQ_MASK, 1 << 6, 0);
f54aab6ebcecd9 Magnus Damm     2008-01-23  174  
f54aab6ebcecd9 Magnus Damm     2008-01-23  175          return 0;
637ed74ff9e86d Dan Carpenter   2010-09-10  176  err5:
637ed74ff9e86d Dan Carpenter   2010-09-10 @177          iounmap(hcd->regs);
f54aab6ebcecd9 Magnus Damm     2008-01-23  178  err4:
f54aab6ebcecd9 Magnus Damm     2008-01-23  179          
release_mem_region(hcd->rsrc_start, hcd->rsrc_len);
f54aab6ebcecd9 Magnus Damm     2008-01-23  180  err3:
f54aab6ebcecd9 Magnus Damm     2008-01-23  181          usb_put_hcd(hcd);
f54aab6ebcecd9 Magnus Damm     2008-01-23  182  err1:
28f65c11f2ffb3 Joe Perches     2011-06-09  183          
release_mem_region(mem->start, resource_size(mem));
f54aab6ebcecd9 Magnus Damm     2008-01-23  184  err0:
f54aab6ebcecd9 Magnus Damm     2008-01-23  185          return retval;
f54aab6ebcecd9 Magnus Damm     2008-01-23  186  }
f54aab6ebcecd9 Magnus Damm     2008-01-23  187  

:::::: The code at line 177 was first introduced by commit
:::::: 637ed74ff9e86d8c2979e430309a1fd28c921de9 USB: ohci-sm501: add iounmap on 
error path

:::::: TO: Dan Carpenter <[email protected]>
:::::: CC: Greg Kroah-Hartman <[email protected]>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

Reply via email to