Hi Michal,

kernel test robot noticed the following build warnings:

[auto build test WARNING on linus/master]
[also build test WARNING on nvdimm/libnvdimm-for-next v6.16-rc3 next-20250623]
[cannot apply to nvdimm/dax-misc]
[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/Michal-Clapinski/libnvdimm-e820-Add-a-new-parameter-to-split-e820-entry-into-many-regions/20250612-194354
base:   linus/master
patch link:    
https://lore.kernel.org/r/20250612114210.2786075-3-mclapinski%40google.com
patch subject: [PATCH v3 2/2] libnvdimm: add nd_e820.pmem automatic devdax 
conversion
config: x86_64-randconfig-r111-20250621 
(https://download.01.org/0day-ci/archive/20250623/202506231721.iepmidyz-...@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20250623/202506231721.iepmidyz-...@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/202506231721.iepmidyz-...@intel.com/

sparse warnings: (new ones prefixed by >>)
>> drivers/nvdimm/pfn_devs.c:684:23: sparse: sparse: incorrect type in 
>> assignment (different base types) @@     expected restricted __le32 
>> [usertype] align @@     got restricted __le64 [usertype] @@
   drivers/nvdimm/pfn_devs.c:684:23: sparse:     expected restricted __le32 
[usertype] align
   drivers/nvdimm/pfn_devs.c:684:23: sparse:     got restricted __le64 
[usertype]

vim +684 drivers/nvdimm/pfn_devs.c

   646  
   647  int nd_pfn_set_dax_defaults(struct nd_pfn *nd_pfn)
   648  {
   649          struct nd_pfn_sb *pfn_sb = nd_pfn->pfn_sb;
   650          struct nd_namespace_common *ndns = nd_pfn->ndns;
   651          struct nd_region *nd_region = to_nd_region(nd_pfn->dev.parent);
   652          struct nd_namespace_io *nsio;
   653          struct resource *res;
   654          unsigned long align;
   655  
   656          if (!pfn_sb || !ndns)
   657                  return -ENODEV;
   658  
   659          if (!is_memory(nd_pfn->dev.parent))
   660                  return -ENODEV;
   661  
   662          if (nd_region->provider_data) {
   663                  align = (unsigned long)nd_region->provider_data;
   664          } else {
   665                  nsio = to_nd_namespace_io(&ndns->dev);
   666                  res = &nsio->res;
   667                  align = nd_best_supported_alignment(res->start, 
res->end);
   668                  if (!align) {
   669                          dev_err(&nd_pfn->dev, "init failed, resource 
misaligned\n");
   670                          return -EOPNOTSUPP;
   671                  }
   672          }
   673  
   674          memset(pfn_sb, 0, sizeof(*pfn_sb));
   675  
   676          if (!nd_pfn->uuid) {
   677                  nd_pfn->uuid = kmemdup(pfn_sb->uuid, 16, GFP_KERNEL);
   678                  if (!nd_pfn->uuid)
   679                          return -ENOMEM;
   680                  nd_pfn->align = align;
   681                  nd_pfn->mode = PFN_MODE_RAM;
   682          }
   683  
 > 684          pfn_sb->align = cpu_to_le64(nd_pfn->align);
   685          pfn_sb->mode = cpu_to_le32(nd_pfn->mode);
   686  
   687          return nd_pfn_checks(nd_pfn, 0, 0, 0);
   688  }
   689  EXPORT_SYMBOL(nd_pfn_set_dax_defaults);
   690  

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

Reply via email to