Hi Stanislav,

kernel test robot noticed the following build warnings:

[auto build test WARNING on linus/master]
[also build test WARNING on v7.1-rc1 next-20260430]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    
https://github.com/intel-lab-lkp/linux/commits/Stanislav-Kinsburskii/mshv-Add-dedicated-ioctl-for-GVA-to-GPA-translation/20260429-094326
base:   linus/master
patch link:    
https://lore.kernel.org/r/177741648871.626779.11067281081219290277.stgit%40skinsburskii-cloud-desktop.internal.cloudapp.net
patch subject: [PATCH] mshv: Add dedicated ioctl for GVA to GPA translation
config: x86_64-randconfig-123-20260430 
(https://download.01.org/0day-ci/archive/20260502/[email protected]/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20260502/[email protected]/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 <[email protected]>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/[email protected]/

sparse warnings: (new ones prefixed by >>)
>> drivers/hv/mshv_root_main.c:958:30: sparse: sparse: incorrect type in 
>> argument 1 (different address spaces) @@     expected void [noderef] __user 
>> *to @@     got unsigned int enum hv_translate_gva_result_code *[addressable] 
>> result @@
   drivers/hv/mshv_root_main.c:958:30: sparse:     expected void [noderef] 
__user *to
   drivers/hv/mshv_root_main.c:958:30: sparse:     got unsigned int enum 
hv_translate_gva_result_code *[addressable] result
>> drivers/hv/mshv_root_main.c:961:30: sparse: sparse: incorrect type in 
>> argument 1 (different address spaces) @@     expected void [noderef] __user 
>> *to @@     got unsigned long long [usertype] *[addressable] gpa @@
   drivers/hv/mshv_root_main.c:961:30: sparse:     expected void [noderef] 
__user *to
   drivers/hv/mshv_root_main.c:961:30: sparse:     got unsigned long long 
[usertype] *[addressable] gpa

vim +958 drivers/hv/mshv_root_main.c

   913  
   914  static long
   915  mshv_vp_ioctl_translate_gva(struct mshv_vp *vp, void __user *user_args)
   916  {
   917          struct mshv_partition *partition = vp->vp_partition;
   918          struct mshv_translate_gva args;
   919          struct hv_translate_gva_result_ex result;
   920          u64 gfn, gpa;
   921          int ret;
   922  
   923          if (copy_from_user(&args, user_args, sizeof(args)))
   924                  return -EFAULT;
   925  
   926          do {
   927                  ret = hv_call_translate_virtual_address_ex(vp->vp_index,
   928                                                             
partition->pt_id,
   929                                                             args.flags, 
args.gva,
   930                                                             &gfn, 
&result);
   931                  if (ret)
   932                          return ret;
   933  
   934                  if (mshv_gpa_fault_retryable(result.result_code)) {
   935                          struct mshv_mem_region *region;
   936                          bool faulted;
   937  
   938                          region = 
mshv_partition_region_by_gfn_get(partition,
   939                                                                    gfn);
   940                          if (!region)
   941                                  return -EFAULT;
   942  
   943                          faulted = false;
   944                          if (region->mreg_type == 
MSHV_REGION_TYPE_MEM_MOVABLE)
   945                                  faulted = 
mshv_region_handle_gfn_fault(region,
   946                                                                         
gfn);
   947                          mshv_region_put(region);
   948  
   949                          if (!faulted)
   950                                  return -EFAULT;
   951  
   952                          cond_resched();
   953                  }
   954          } while (mshv_gpa_fault_retryable(result.result_code));
   955  
   956          gpa = (gfn << PAGE_SHIFT) | (args.gva & ~PAGE_MASK);
   957  
 > 958          if (copy_to_user(args.result, &result, sizeof(*args.result)))
   959                  return -EFAULT;
   960  
 > 961          if (copy_to_user(args.gpa, &gpa, sizeof(*args.gpa)))
   962                  return -EFAULT;
   963  
   964          return 0;
   965  }
   966  

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

Reply via email to