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]
Message-ID: <202512150359.fMdmbddk-lkp@intel.com>
Date: Mon, 15 Dec 2025 03:35:06 +0800
From: kernel test robot <lkp@...el.com>
To: Roman Kisel <romank@...ux.microsoft.com>
Cc: oe-kbuild-all@...ts.linux.dev, linux-kernel@...r.kernel.org,
	Wei Liu <wei.liu@...nel.org>, Tianyu Lan <tiala@...rosoft.com>,
	Michael Kelley <mhklinux@...look.com>
Subject: drivers/hv/hv.c:365:31: sparse: sparse: incorrect type in argument 1
 (different address spaces)

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@...el.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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ