public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* drivers/hv/hv.c:365:31: sparse: sparse: incorrect type in argument 1 (different address spaces)
@ 2025-12-14 19:35 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-12-14 19:35 UTC (permalink / raw)
  To: Roman Kisel
  Cc: oe-kbuild-all, linux-kernel, Wei Liu, Tianyu Lan, Michael Kelley

Hi Roman,

FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   8f0b4cce4481fb22653697cced8d0d04027cb1e8
commit: 163224c189e8b679ce919aa64ccabb7a992ca2d1 Drivers: hv: Rename fields for SynIC message and event pages
date:   4 weeks ago
config: x86_64-randconfig-123-20251214 (https://download.01.org/0day-ci/archive/20251215/202512150359.fMdmbddk-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251215/202512150359.fMdmbddk-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512150359.fMdmbddk-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
   drivers/hv/hv.c:282:26: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/hv/hv.c:301:26: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/hv/hv.c:365:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void *hyp_synic_message_page @@
   drivers/hv/hv.c:365:31: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/hv/hv.c:365:31: sparse:     got void *hyp_synic_message_page
>> drivers/hv/hv.c:377:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *addr @@     got void *hyp_synic_event_page @@
   drivers/hv/hv.c:377:31: sparse:     expected void volatile [noderef] __iomem *addr
   drivers/hv/hv.c:377:31: sparse:     got void *hyp_synic_event_page

vim +365 drivers/hv/hv.c

   337	
   338	void hv_synic_disable_regs(unsigned int cpu)
   339	{
   340		struct hv_per_cpu_context *hv_cpu =
   341			per_cpu_ptr(hv_context.cpu_context, cpu);
   342		union hv_synic_sint shared_sint;
   343		union hv_synic_simp simp;
   344		union hv_synic_siefp siefp;
   345		union hv_synic_scontrol sctrl;
   346	
   347		shared_sint.as_uint64 = hv_get_msr(HV_MSR_SINT0 + VMBUS_MESSAGE_SINT);
   348	
   349		shared_sint.masked = 1;
   350	
   351		/* Need to correctly cleanup in the case of SMP!!! */
   352		/* Disable the interrupt */
   353		hv_set_msr(HV_MSR_SINT0 + VMBUS_MESSAGE_SINT, shared_sint.as_uint64);
   354		hv_enable_coco_interrupt(cpu, vmbus_interrupt, false);
   355	
   356		simp.as_uint64 = hv_get_msr(HV_MSR_SIMP);
   357		/*
   358		 * In Isolation VM, sim and sief pages are allocated by
   359		 * paravisor. These pages also will be used by kdump
   360		 * kernel. So just reset enable bit here and keep page
   361		 * addresses.
   362		 */
   363		simp.simp_enabled = 0;
   364		if (ms_hyperv.paravisor_present || hv_root_partition()) {
 > 365			iounmap(hv_cpu->hyp_synic_message_page);
   366			hv_cpu->hyp_synic_message_page = NULL;
   367		} else {
   368			simp.base_simp_gpa = 0;
   369		}
   370	
   371		hv_set_msr(HV_MSR_SIMP, simp.as_uint64);
   372	
   373		siefp.as_uint64 = hv_get_msr(HV_MSR_SIEFP);
   374		siefp.siefp_enabled = 0;
   375	
   376		if (ms_hyperv.paravisor_present || hv_root_partition()) {
 > 377			iounmap(hv_cpu->hyp_synic_event_page);
   378			hv_cpu->hyp_synic_event_page = NULL;
   379		} else {
   380			siefp.base_siefp_gpa = 0;
   381		}
   382	
   383		hv_set_msr(HV_MSR_SIEFP, siefp.as_uint64);
   384	
   385		/* Disable the global synic bit */
   386		sctrl.as_uint64 = hv_get_msr(HV_MSR_SCONTROL);
   387		sctrl.enable = 0;
   388		hv_set_msr(HV_MSR_SCONTROL, sctrl.as_uint64);
   389	
   390		if (vmbus_irq != -1)
   391			disable_percpu_irq(vmbus_irq);
   392	}
   393	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2025-12-14 19:35 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-14 19:35 drivers/hv/hv.c:365:31: sparse: sparse: incorrect type in argument 1 (different address spaces) kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox