Hi Sourabh,

kernel test robot noticed the following build warnings:

[auto build test WARNING on next-20240508]
[cannot apply to powerpc/next powerpc/fixes linus/master v6.9-rc7 v6.9-rc6 
v6.9-rc5 v6.9-rc7]
[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/Sourabh-Jain/powerpc-kexec_file-fix-extra-size-calculation-for-kexec-FDT/20240508-211003
base:   next-20240508
patch link:    
https://lore.kernel.org/r/20240508130558.1939304-2-sourabhjain%40linux.ibm.com
patch subject: [PATCH 1/2] powerpc/kexec_file: fix extra size calculation for 
kexec FDT
config: powerpc-allyesconfig 
(https://download.01.org/0day-ci/archive/20240509/202405091511.8sd2zyrn-...@intel.com/config)
compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project 
0ab4458df0688955620b72cc2c72a32dffad3615)
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20240509/202405091511.8sd2zyrn-...@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/202405091511.8sd2zyrn-...@intel.com/

All warnings (new ones prefixed by >>):

   In file included from arch/powerpc/kexec/file_load_64.c:17:
   In file included from include/linux/kexec.h:18:
   In file included from include/linux/vmcore_info.h:6:
   In file included from include/linux/elfcore.h:11:
   In file included from include/linux/ptrace.h:10:
   In file included from include/linux/pid_namespace.h:7:
   In file included from include/linux/mm.h:2253:
   include/linux/vmstat.h:500:43: warning: arithmetic between different 
enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') 
[-Wenum-enum-conversion]
     500 |         return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~ ^
     501 |                            item];
         |                            ~~~~
   include/linux/vmstat.h:507:43: warning: arithmetic between different 
enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') 
[-Wenum-enum-conversion]
     507 |         return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~ ^
     508 |                            NR_VM_NUMA_EVENT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~~
   include/linux/vmstat.h:514:36: warning: arithmetic between different 
enumeration types ('enum node_stat_item' and 'enum lru_list') 
[-Wenum-enum-conversion]
     514 |         return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
         |                               ~~~~~~~~~~~ ^ ~~~
   include/linux/vmstat.h:519:43: warning: arithmetic between different 
enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') 
[-Wenum-enum-conversion]
     519 |         return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~ ^
     520 |                            NR_VM_NUMA_EVENT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~~
   include/linux/vmstat.h:528:43: warning: arithmetic between different 
enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') 
[-Wenum-enum-conversion]
     528 |         return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~ ^
     529 |                            NR_VM_NUMA_EVENT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~~
>> arch/powerpc/kexec/file_load_64.c:863:3: warning: variable 'cpu_nodes' is 
>> uninitialized when used here [-Wuninitialized]
     863 |                 cpu_nodes++;
         |                 ^~~~~~~~~
   arch/powerpc/kexec/file_load_64.c:854:24: note: initialize the variable 
'cpu_nodes' to silence this warning
     854 |         unsigned int cpu_nodes, extra_size = 0;
         |                               ^
         |                                = 0
   6 warnings generated.


vim +/cpu_nodes +863 arch/powerpc/kexec/file_load_64.c

   843  
   844  /**
   845   * kexec_extra_fdt_size_ppc64 - Return the estimated additional size 
needed to
   846   *                              setup FDT for kexec/kdump kernel.
   847   * @image:                      kexec image being loaded.
   848   *
   849   * Returns the estimated extra size needed for kexec/kdump kernel FDT.
   850   */
   851  unsigned int kexec_extra_fdt_size_ppc64(struct kimage *image, struct 
crash_mem *rmem)
   852  {
   853          struct device_node *dn;
   854          unsigned int cpu_nodes, extra_size = 0;
   855  
   856          // Budget some space for the password blob. There's already 
extra space
   857          // for the key name
   858          if (plpks_is_available())
   859                  extra_size += (unsigned int)plpks_get_passwordlen();
   860  
   861          /* Get the number of CPU nodes in the current device tree */
   862          for_each_node_by_type(dn, "cpu") {
 > 863                  cpu_nodes++;
   864          }
   865  
   866          /* Consider extra space for CPU nodes added since the boot time 
*/
   867          if (cpu_nodes > boot_cpu_node_count)
   868                  extra_size += (cpu_nodes - boot_cpu_node_count) * 
cpu_node_size();
   869  
   870          /* Consider extra space for reserved memory ranges if any */
   871          if (rmem->nr_ranges > 0)
   872                  extra_size += sizeof(struct fdt_reserve_entry) * 
rmem->nr_ranges;
   873  
   874          return extra_size + kdump_extra_fdt_size_ppc64(image, 
cpu_nodes);
   875  }
   876  

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

Reply via email to