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>] [day] [month] [year] [list]
Date:   Mon, 13 Jul 2020 03:04:42 +0800
From:   kernel test robot <lkp@...el.com>
To:     Luc Van Oostenryck <luc.vanoostenryck@...il.com>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org
Subject: drivers/pci/controller/dwc/pcie-spear13xx.c:76:54: sparse: sparse:
 incorrect type in initializer (different address spaces)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   0aea6d5c5be33ce94c16f9ab2f64de1f481f424b
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date:   3 weeks ago
config: x86_64-randconfig-s021-20200713 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.2-37-gc9676a3b-dirty
        git checkout 670d0a4b10704667765f7d18f7592993d02783aa
        # save the attached .config to linux build tree
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64 

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


sparse warnings: (new ones prefixed by >>)

>> drivers/pci/controller/dwc/pcie-spear13xx.c:76:54: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct pcie_app_reg *app_reg @@     got void [noderef] __iomem *app_base @@
   drivers/pci/controller/dwc/pcie-spear13xx.c:76:54: sparse:     expected struct pcie_app_reg *app_reg
>> drivers/pci/controller/dwc/pcie-spear13xx.c:76:54: sparse:     got void [noderef] __iomem *app_base
>> drivers/pci/controller/dwc/pcie-spear13xx.c:127:26: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got unsigned int * @@
>> drivers/pci/controller/dwc/pcie-spear13xx.c:127:26: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/pci/controller/dwc/pcie-spear13xx.c:127:26: sparse:     got unsigned int *
   drivers/pci/controller/dwc/pcie-spear13xx.c:135:54: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct pcie_app_reg *app_reg @@     got void [noderef] __iomem *app_base @@
   drivers/pci/controller/dwc/pcie-spear13xx.c:135:54: sparse:     expected struct pcie_app_reg *app_reg
   drivers/pci/controller/dwc/pcie-spear13xx.c:135:54: sparse:     got void [noderef] __iomem *app_base
>> drivers/pci/controller/dwc/pcie-spear13xx.c:140:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got unsigned int * @@
>> drivers/pci/controller/dwc/pcie-spear13xx.c:140:25: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/pci/controller/dwc/pcie-spear13xx.c:140:25: sparse:     got unsigned int *
   drivers/pci/controller/dwc/pcie-spear13xx.c:147:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got unsigned int * @@
   drivers/pci/controller/dwc/pcie-spear13xx.c:147:25: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/pci/controller/dwc/pcie-spear13xx.c:147:25: sparse:     got unsigned int *
   drivers/pci/controller/dwc/pcie-spear13xx.c:156:54: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct pcie_app_reg *app_reg @@     got void [noderef] __iomem *app_base @@
   drivers/pci/controller/dwc/pcie-spear13xx.c:156:54: sparse:     expected struct pcie_app_reg *app_reg
   drivers/pci/controller/dwc/pcie-spear13xx.c:156:54: sparse:     got void [noderef] __iomem *app_base
   drivers/pci/controller/dwc/pcie-spear13xx.c:161:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got unsigned int * @@
   drivers/pci/controller/dwc/pcie-spear13xx.c:161:31: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/pci/controller/dwc/pcie-spear13xx.c:161:31: sparse:     got unsigned int *
   drivers/pci/controller/dwc/pcie-spear13xx.c:162:48: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got unsigned int * @@
   drivers/pci/controller/dwc/pcie-spear13xx.c:162:48: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/pci/controller/dwc/pcie-spear13xx.c:162:48: sparse:     got unsigned int *
   drivers/pci/controller/dwc/pcie-spear13xx.c:169:54: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct pcie_app_reg *app_reg @@     got void [noderef] __iomem *app_base @@
   drivers/pci/controller/dwc/pcie-spear13xx.c:169:54: sparse:     expected struct pcie_app_reg *app_reg
   drivers/pci/controller/dwc/pcie-spear13xx.c:169:54: sparse:     got void [noderef] __iomem *app_base
   drivers/pci/controller/dwc/pcie-spear13xx.c:171:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] __iomem *addr @@     got unsigned int * @@
   drivers/pci/controller/dwc/pcie-spear13xx.c:171:20: sparse:     expected void const volatile [noderef] __iomem *addr
   drivers/pci/controller/dwc/pcie-spear13xx.c:171:20: sparse:     got unsigned int *

vim +76 drivers/pci/controller/dwc/pcie-spear13xx.c

51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11   71  
ffe82fa66afb19 drivers/pci/host/pcie-spear13xx.c Bjorn Helgaas          2016-10-06   72  static int spear13xx_pcie_establish_link(struct spear13xx_pcie *spear13xx_pcie)
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11   73  {
442ec4c04d1235 drivers/pci/dwc/pcie-spear13xx.c  Kishon Vijay Abraham I 2017-02-15   74  	struct dw_pcie *pci = spear13xx_pcie->pci;
442ec4c04d1235 drivers/pci/dwc/pcie-spear13xx.c  Kishon Vijay Abraham I 2017-02-15   75  	struct pcie_port *pp = &pci->pp;
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  @76  	struct pcie_app_reg *app_reg = spear13xx_pcie->app_base;
ffe82fa66afb19 drivers/pci/host/pcie-spear13xx.c Bjorn Helgaas          2016-10-06   77  	u32 val;
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11   78  	u32 exp_cap_off = EXP_CAP_ID_OFFSET;
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11   79  
442ec4c04d1235 drivers/pci/dwc/pcie-spear13xx.c  Kishon Vijay Abraham I 2017-02-15   80  	if (dw_pcie_link_up(pci)) {
442ec4c04d1235 drivers/pci/dwc/pcie-spear13xx.c  Kishon Vijay Abraham I 2017-02-15   81  		dev_err(pci->dev, "link already up\n");
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11   82  		return 0;
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11   83  	}
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11   84  
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11   85  	dw_pcie_setup_rc(pp);
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11   86  
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11   87  	/*
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11   88  	 * this controller support only 128 bytes read size, however its
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11   89  	 * default value in capability register is 512 bytes. So force
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11   90  	 * it to 128 here.
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11   91  	 */
442ec4c04d1235 drivers/pci/dwc/pcie-spear13xx.c  Kishon Vijay Abraham I 2017-02-15   92  	dw_pcie_read(pci->dbi_base + exp_cap_off + PCI_EXP_DEVCTL, 2, &val);
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11   93  	val &= ~PCI_EXP_DEVCTL_READRQ;
442ec4c04d1235 drivers/pci/dwc/pcie-spear13xx.c  Kishon Vijay Abraham I 2017-02-15   94  	dw_pcie_write(pci->dbi_base + exp_cap_off + PCI_EXP_DEVCTL, 2, val);
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11   95  
442ec4c04d1235 drivers/pci/dwc/pcie-spear13xx.c  Kishon Vijay Abraham I 2017-02-15   96  	dw_pcie_write(pci->dbi_base + PCI_VENDOR_ID, 2, 0x104A);
442ec4c04d1235 drivers/pci/dwc/pcie-spear13xx.c  Kishon Vijay Abraham I 2017-02-15   97  	dw_pcie_write(pci->dbi_base + PCI_DEVICE_ID, 2, 0xCD80);
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11   98  
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11   99  	/*
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  100  	 * if is_gen1 is set then handle it, so that some buggy card
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  101  	 * also works
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  102  	 */
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  103  	if (spear13xx_pcie->is_gen1) {
442ec4c04d1235 drivers/pci/dwc/pcie-spear13xx.c  Kishon Vijay Abraham I 2017-02-15  104  		dw_pcie_read(pci->dbi_base + exp_cap_off + PCI_EXP_LNKCAP,
4c45852f494dab drivers/pci/host/pcie-spear13xx.c Gabriele Paoloni       2015-10-08  105  			     4, &val);
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  106  		if ((val & PCI_EXP_LNKCAP_SLS) != PCI_EXP_LNKCAP_SLS_2_5GB) {
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  107  			val &= ~((u32)PCI_EXP_LNKCAP_SLS);
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  108  			val |= PCI_EXP_LNKCAP_SLS_2_5GB;
442ec4c04d1235 drivers/pci/dwc/pcie-spear13xx.c  Kishon Vijay Abraham I 2017-02-15  109  			dw_pcie_write(pci->dbi_base + exp_cap_off +
4c45852f494dab drivers/pci/host/pcie-spear13xx.c Gabriele Paoloni       2015-10-08  110  				      PCI_EXP_LNKCAP, 4, val);
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  111  		}
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  112  
442ec4c04d1235 drivers/pci/dwc/pcie-spear13xx.c  Kishon Vijay Abraham I 2017-02-15  113  		dw_pcie_read(pci->dbi_base + exp_cap_off + PCI_EXP_LNKCTL2,
4c45852f494dab drivers/pci/host/pcie-spear13xx.c Gabriele Paoloni       2015-10-08  114  			     2, &val);
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  115  		if ((val & PCI_EXP_LNKCAP_SLS) != PCI_EXP_LNKCAP_SLS_2_5GB) {
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  116  			val &= ~((u32)PCI_EXP_LNKCAP_SLS);
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  117  			val |= PCI_EXP_LNKCAP_SLS_2_5GB;
442ec4c04d1235 drivers/pci/dwc/pcie-spear13xx.c  Kishon Vijay Abraham I 2017-02-15  118  			dw_pcie_write(pci->dbi_base + exp_cap_off +
4c45852f494dab drivers/pci/host/pcie-spear13xx.c Gabriele Paoloni       2015-10-08  119  				      PCI_EXP_LNKCTL2, 2, val);
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  120  		}
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  121  	}
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  122  
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  123  	/* enable ltssm */
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  124  	writel(DEVICE_TYPE_RC | (1 << MISCTRL_EN_ID)
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  125  			| (1 << APP_LTSSM_ENABLE_ID)
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  126  			| ((u32)1 << REG_TRANSLATION_ENABLE),
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11 @127  			&app_reg->app_ctrl_0);
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  128  
442ec4c04d1235 drivers/pci/dwc/pcie-spear13xx.c  Kishon Vijay Abraham I 2017-02-15  129  	return dw_pcie_wait_for_link(pci);
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  130  }
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  131  
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  132  static irqreturn_t spear13xx_pcie_irq_handler(int irq, void *arg)
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  133  {
ffe82fa66afb19 drivers/pci/host/pcie-spear13xx.c Bjorn Helgaas          2016-10-06  134  	struct spear13xx_pcie *spear13xx_pcie = arg;
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  135  	struct pcie_app_reg *app_reg = spear13xx_pcie->app_base;
442ec4c04d1235 drivers/pci/dwc/pcie-spear13xx.c  Kishon Vijay Abraham I 2017-02-15  136  	struct dw_pcie *pci = spear13xx_pcie->pci;
442ec4c04d1235 drivers/pci/dwc/pcie-spear13xx.c  Kishon Vijay Abraham I 2017-02-15  137  	struct pcie_port *pp = &pci->pp;
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  138  	unsigned int status;
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  139  
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11 @140  	status = readl(&app_reg->int_sts);
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  141  
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  142  	if (status & MSI_CTRL_INT) {
68ebb7ce395c6d drivers/pci/host/pcie-spear13xx.c Fabio Estevam          2015-08-20  143  		BUG_ON(!IS_ENABLED(CONFIG_PCI_MSI));
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  144  		dw_handle_msi_irq(pp);
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  145  	}
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  146  
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  147  	writel(status, &app_reg->int_clr);
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  148  
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  149  	return IRQ_HANDLED;
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  150  }
51b66a6ce12570 drivers/pci/host/pcie-spear13xx.c Pratyush Anand         2014-02-11  151  

:::::: The code at line 76 was first introduced by commit
:::::: 51b66a6ce12570e5ee1a249c811f7f2d74814a43 PCI: spear: Add PCIe driver for ST Microelectronics SPEAr13xx

:::::: TO: Pratyush Anand <pratyush.anand@...com>
:::::: CC: Viresh Kumar <viresh.kumar@...aro.org>

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

Download attachment ".config.gz" of type "application/gzip" (45551 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ