Re: [PATCH -next 2/3] mm/hugetlb_cgroup: prepare cftypes based on template

kernel test robot
2024-06-03T15:37:04Z

Hi Xiu,

kernel test robot noticed the following build warnings:

[auto build test WARNING on akpm-mm/mm-everything]

url: https://github.com/intel-lab-lkp/linux/commits/Xiu-Jianfeng/mm-hugetlb_cgroup-identify-the-legacy-using-cgroup_subsys_on_dfl/20240603-201513
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link: https://lore.kernel.org/r/20240603120506.1837322-3-xiujianfeng%40huawei.com
patch subject: [PATCH -next 2/3] mm/hugetlb_cgroup: prepare cftypes based on template
config: riscv-defconfig (https://download.01.org/0day-ci/archive/20240603/202406032321.OzAKgNBA-lkp@intel.com/config)
compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project d7d2d4f53fc79b4b58e8d8d08151b577c3699d4a)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240603/202406032321.OzAKgNBA-lkp@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 <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202406032321.OzAKgNBA-lkp@intel.com/

All warnings (new ones prefixed by >>):

In file included from mm/hugetlb_cgroup.c:20:
In file included from include/linux/cgroup.h:25:
In file included from include/linux/kernel_stat.h:8:
In file included from include/linux/interrupt.h:21:
In file included from arch/riscv/include/asm/sections.h:9:
In file included from include/linux/mm.h:2245:
include/linux/vmstat.h:498:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
498 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
>> mm/hugetlb_cgroup.c:828:13: warning: address of array 'tmpl->name' will always evaluate to 'true' [-Wpointer-bool-conversion]
828 | if (tmpl->name)
| ~~ ~~~~~~^~~~
2 warnings generated.

vim +828 mm/hugetlb_cgroup.c

814
815 static void __init
816 hugetlb_cgroup_cfttypes_init(struct hstate *h, struct cftype *cft,
817 struct cftype *tmpl, int tmpl_size)
818 {
819 char buf[32];
820 int i, idx = hstate_index(h);
821
822 /* format the size */
823 mem_fmt(buf, sizeof(buf), huge_page_size(h));
824
825 for (i = 0; i < tmpl_size; cft++, tmpl++, i++) {
826 *cft = *tmpl;
827 /* rebuild the name */
> 828 if (tmpl->name)
829 snprintf(cft->name, MAX_CFTYPE_NAME, "%s.%s", buf, tmpl->name);
830 /* rebuild the private */
831 if (tmpl->private)
832 cft->private = MEMFILE_PRIVATE(idx, tmpl->private);
833 /* rebuild the file_offset */
834 if (tmpl->file_offset) {
835 unsigned int offset = tmpl->file_offset;
836
837 cft->file_offset = MEMFILE_OFFSET0(offset) +
838 MEMFILE_FIELD_SIZE(offset) * idx;
839 }
840 }
841 }
842

--
0-DAY CI Kernel Test Service