[xilinx-xlnx:xlnx_rebase_v5.15_LTS 514/1129] drivers/xen/xenbus/xenbus_probe.c:755:37: sparse: sparse: incorrect type in assignment (different address spaces)

kernel test robot lkp at intel.com
Sat May 7 13:04:03 PDT 2022


tree:   https://github.com/Xilinx/linux-xlnx xlnx_rebase_v5.15_LTS
head:   3076249fc30bf463f8390f89009de928ad3e95ff
commit: f6d8e7c7c6896e6371e052e7bd1320ec9b659436 [514/1129] xen: add support for initializing xenstore later as HVM domain
config: x86_64-randconfig-s022 (https://download.01.org/0day-ci/archive/20220508/202205080350.ASULGl4H-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.2.0-20) 11.2.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.4-dirty
        # https://github.com/Xilinx/linux-xlnx/commit/f6d8e7c7c6896e6371e052e7bd1320ec9b659436
        git remote add xilinx-xlnx https://github.com/Xilinx/linux-xlnx
        git fetch --no-tags xilinx-xlnx xlnx_rebase_v5.15_LTS
        git checkout f6d8e7c7c6896e6371e052e7bd1320ec9b659436
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/xen/xenbus/

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


sparse warnings: (new ones prefixed by >>)
>> drivers/xen/xenbus/xenbus_probe.c:755:37: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct xenstore_domain_interface *extern [addressable] [toplevel] xen_store_interface @@     got void [noderef] __iomem * @@
   drivers/xen/xenbus/xenbus_probe.c:755:37: sparse:     expected struct xenstore_domain_interface *extern [addressable] [toplevel] xen_store_interface
   drivers/xen/xenbus/xenbus_probe.c:755:37: sparse:     got void [noderef] __iomem *
   drivers/xen/xenbus/xenbus_probe.c:1017:45: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct xenstore_domain_interface *extern [addressable] [assigned] [toplevel] xen_store_interface @@     got void [noderef] __iomem * @@
   drivers/xen/xenbus/xenbus_probe.c:1017:45: sparse:     expected struct xenstore_domain_interface *extern [addressable] [assigned] [toplevel] xen_store_interface
   drivers/xen/xenbus/xenbus_probe.c:1017:45: sparse:     got void [noderef] __iomem *

vim +755 drivers/xen/xenbus/xenbus_probe.c

   749	
   750	static void xenbus_probe(void)
   751	{
   752		xenstored_ready = 1;
   753	
   754		if (!xen_store_interface) {
 > 755			xen_store_interface = xen_remap(xen_store_gfn << XEN_PAGE_SHIFT,
   756							XEN_PAGE_SIZE);
   757			/*
   758			 * Now it is safe to free the IRQ used for xenstore late
   759			 * initialization. No need to unbind: it is about to be
   760			 * bound again.
   761			 */
   762			free_irq(xs_init_irq, &xb_waitq);
   763		}
   764	
   765		/*
   766		 * In the HVM case, xenbus_init() deferred its call to
   767		 * xs_init() in case callbacks were not operational yet.
   768		 * So do it now.
   769		 */
   770		if (xen_store_domain_type == XS_HVM)
   771			xs_init();
   772	
   773		/* Notify others that xenstore is up */
   774		blocking_notifier_call_chain(&xenstore_chain, 0, NULL);
   775	}
   776	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp



More information about the linux-arm-kernel mailing list