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-...@intel.com/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-...@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 <l...@intel.com>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/202507160553.amow6ty0-...@intel.com/

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

Reply via email to