Hi Roman, kernel test robot noticed the following build warnings: [auto build test WARNING on d9016a249be5316ec2476f9947356711e70a16ec] url: https://github.com/intel-lab-lkp/linux/commits/Roman-Kisel/Documentation-hyperv-Confidential-VMBus/20250715-062125 base: d9016a249be5316ec2476f9947356711e70a16ec patch link: https://lore.kernel.org/r/20250714221545.5615-6-romank%40linux.microsoft.com patch subject: [PATCH hyperv-next v4 05/16] Drivers: hv: Rename fields for SynIC message and event pages config: i386-randconfig-061-20250715 (https://download.01.org/0day-ci/archive/20250716/202507160553.amoW6Ty0-lkp@xxxxxxxxx/config) compiler: gcc-12 (Debian 12.2.0-14+deb12u1) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250716/202507160553.amoW6Ty0-lkp@xxxxxxxxx/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@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202507160553.amoW6Ty0-lkp@xxxxxxxxx/ sparse warnings: (new ones prefixed by >>) drivers/hv/hv.c:280:26: sparse: sparse: cast removes address space '__iomem' of expression drivers/hv/hv.c:299:26: sparse: sparse: cast removes address space '__iomem' of expression >> drivers/hv/hv.c:361: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:361:31: sparse: expected void volatile [noderef] __iomem *addr drivers/hv/hv.c:361:31: sparse: got void *hyp_synic_message_page >> drivers/hv/hv.c:373: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:373:31: sparse: expected void volatile [noderef] __iomem *addr drivers/hv/hv.c:373:31: sparse: got void *hyp_synic_event_page vim +361 drivers/hv/hv.c 334 335 void hv_synic_disable_regs(unsigned int cpu) 336 { 337 struct hv_per_cpu_context *hv_cpu = 338 per_cpu_ptr(hv_context.cpu_context, cpu); 339 union hv_synic_sint shared_sint; 340 union hv_synic_simp simp; 341 union hv_synic_siefp siefp; 342 union hv_synic_scontrol sctrl; 343 344 shared_sint.as_uint64 = hv_get_msr(HV_MSR_SINT0 + VMBUS_MESSAGE_SINT); 345 346 shared_sint.masked = 1; 347 348 /* Need to correctly cleanup in the case of SMP!!! */ 349 /* Disable the interrupt */ 350 hv_set_msr(HV_MSR_SINT0 + VMBUS_MESSAGE_SINT, shared_sint.as_uint64); 351 352 simp.as_uint64 = hv_get_msr(HV_MSR_SIMP); 353 /* 354 * In Isolation VM, sim and sief pages are allocated by 355 * paravisor. These pages also will be used by kdump 356 * kernel. So just reset enable bit here and keep page 357 * addresses. 358 */ 359 simp.simp_enabled = 0; 360 if (ms_hyperv.paravisor_present || hv_root_partition()) { > 361 iounmap(hv_cpu->hyp_synic_message_page); 362 hv_cpu->hyp_synic_message_page = NULL; 363 } else { 364 simp.base_simp_gpa = 0; 365 } 366 367 hv_set_msr(HV_MSR_SIMP, simp.as_uint64); 368 369 siefp.as_uint64 = hv_get_msr(HV_MSR_SIEFP); 370 siefp.siefp_enabled = 0; 371 372 if (ms_hyperv.paravisor_present || hv_root_partition()) { > 373 iounmap(hv_cpu->hyp_synic_event_page); 374 hv_cpu->hyp_synic_event_page = NULL; 375 } else { 376 siefp.base_siefp_gpa = 0; 377 } 378 379 hv_set_msr(HV_MSR_SIEFP, siefp.as_uint64); 380 381 /* Disable the global synic bit */ 382 sctrl.as_uint64 = hv_get_msr(HV_MSR_SCONTROL); 383 sctrl.enable = 0; 384 hv_set_msr(HV_MSR_SCONTROL, sctrl.as_uint64); 385 386 if (vmbus_irq != -1) 387 disable_percpu_irq(vmbus_irq); 388 } 389 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki