[<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