Hi, 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/zhongjinji-honor-com/mm-page_alloc-make-the-maximum-number-of-highatomic-pageblocks-resizable/20250226-121712 base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything patch link: https://lore.kernel.org/r/20250226024126.3718-1-zhongjinji%40honor.com patch subject: [PATCH] mm/page_alloc: make the maximum number of highatomic pageblocks resizable config: x86_64-buildonly-randconfig-006-20250227 (https://download.01.org/0day-ci/archive/20250227/202502271248.bHUExwvw-lkp@xxxxxxxxx/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/20250227/202502271248.bHUExwvw-lkp@xxxxxxxxx/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@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202502271248.bHUExwvw-lkp@xxxxxxxxx/ All warnings (new ones prefixed by >>): mm/page_alloc.c:6262:17: error: field name not in record or union initializer 6262 | .procname = "highatomic_reserve_ratio", | ^ mm/page_alloc.c:6262:17: note: (near initialization for 'page_alloc_sysctl_table') mm/page_alloc.c:6263:17: error: field name not in record or union initializer 6263 | .data = &highatomic_reserve_ratio, | ^ mm/page_alloc.c:6263:17: note: (near initialization for 'page_alloc_sysctl_table') mm/page_alloc.c:6263:35: error: initialization of 'const char *' from incompatible pointer type 'int *' [-Werror=incompatible-pointer-types] 6263 | .data = &highatomic_reserve_ratio, | ^ mm/page_alloc.c:6263:35: note: (near initialization for 'page_alloc_sysctl_table[5].procname') mm/page_alloc.c:6264:17: error: field name not in record or union initializer 6264 | .maxlen = sizeof(highatomic_reserve_ratio), | ^ mm/page_alloc.c:6264:17: note: (near initialization for 'page_alloc_sysctl_table') >> mm/page_alloc.c:6264:35: warning: initialization of 'const char *' from 'long unsigned int' makes pointer from integer without a cast [-Wint-conversion] 6264 | .maxlen = sizeof(highatomic_reserve_ratio), | ^~~~~~ mm/page_alloc.c:6264:35: note: (near initialization for 'page_alloc_sysctl_table[6].procname') mm/page_alloc.c:6265:17: error: field name not in record or union initializer 6265 | .mode = 0644, | ^ mm/page_alloc.c:6265:17: note: (near initialization for 'page_alloc_sysctl_table') >> mm/page_alloc.c:6265:35: warning: initialization of 'const char *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 6265 | .mode = 0644, | ^~~~ mm/page_alloc.c:6265:35: note: (near initialization for 'page_alloc_sysctl_table[7].procname') mm/page_alloc.c:6266:17: error: field name not in record or union initializer 6266 | .proc_handler = proc_dointvec_minmax, | ^ mm/page_alloc.c:6266:17: note: (near initialization for 'page_alloc_sysctl_table') mm/page_alloc.c:6266:35: error: initialization of 'const char *' from incompatible pointer type 'int (*)(const struct ctl_table *, int, void *, size_t *, loff_t *)' {aka 'int (*)(const struct ctl_table *, int, void *, long unsigned int *, long long int *)'} [-Werror=incompatible-pointer-types] 6266 | .proc_handler = proc_dointvec_minmax, | ^~~~~~~~~~~~~~~~~~~~ mm/page_alloc.c:6266:35: note: (near initialization for 'page_alloc_sysctl_table[8].procname') mm/page_alloc.c:6267:17: error: field name not in record or union initializer 6267 | .extra1 = SYSCTL_ZERO, | ^ mm/page_alloc.c:6267:17: note: (near initialization for 'page_alloc_sysctl_table') mm/page_alloc.c:6228:59: warning: missing braces around initializer [-Wmissing-braces] 6228 | static const struct ctl_table page_alloc_sysctl_table[] = { | ^ mm/page_alloc.c:6269:9: error: expected identifier or '(' before '{' token 6269 | { | ^ mm/page_alloc.c:6275:10: error: expected identifier or '(' before ',' token 6275 | }, | ^ mm/page_alloc.c:6174:12: warning: 'lowmem_reserve_ratio_sysctl_handler' defined but not used [-Wunused-function] 6174 | static int lowmem_reserve_ratio_sysctl_handler(const struct ctl_table *table, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/suspend.h:5, from mm/page_alloc.c:28: include/linux/swap.h:590:12: warning: 'folio_alloc_swap' defined but not used [-Wunused-function] 590 | static int folio_alloc_swap(struct folio *folio, gfp_t gfp_mask) | ^~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +6264 mm/page_alloc.c 6227 6228 static const struct ctl_table page_alloc_sysctl_table[] = { 6229 { 6230 .procname = "min_free_kbytes", 6231 .data = &min_free_kbytes, 6232 .maxlen = sizeof(min_free_kbytes), 6233 .mode = 0644, 6234 .proc_handler = min_free_kbytes_sysctl_handler, 6235 .extra1 = SYSCTL_ZERO, 6236 }, 6237 { 6238 .procname = "watermark_boost_factor", 6239 .data = &watermark_boost_factor, 6240 .maxlen = sizeof(watermark_boost_factor), 6241 .mode = 0644, 6242 .proc_handler = proc_dointvec_minmax, 6243 .extra1 = SYSCTL_ZERO, 6244 }, 6245 { 6246 .procname = "watermark_scale_factor", 6247 .data = &watermark_scale_factor, 6248 .maxlen = sizeof(watermark_scale_factor), 6249 .mode = 0644, 6250 .proc_handler = watermark_scale_factor_sysctl_handler, 6251 .extra1 = SYSCTL_ONE, 6252 .extra2 = SYSCTL_THREE_THOUSAND, 6253 }, 6254 { 6255 .procname = "percpu_pagelist_high_fraction", 6256 .data = &percpu_pagelist_high_fraction, 6257 .maxlen = sizeof(percpu_pagelist_high_fraction), 6258 .mode = 0644, 6259 .proc_handler = percpu_pagelist_high_fraction_sysctl_handler, 6260 .extra1 = SYSCTL_ZERO, 6261 }, 6262 .procname = "highatomic_reserve_ratio", > 6263 .data = &highatomic_reserve_ratio, > 6264 .maxlen = sizeof(highatomic_reserve_ratio), > 6265 .mode = 0644, 6266 .proc_handler = proc_dointvec_minmax, 6267 .extra1 = SYSCTL_ZERO, 6268 }, 6269 { 6270 .procname = "lowmem_reserve_ratio", 6271 .data = &sysctl_lowmem_reserve_ratio, 6272 .maxlen = sizeof(sysctl_lowmem_reserve_ratio), 6273 .mode = 0644, 6274 .proc_handler = lowmem_reserve_ratio_sysctl_handler, 6275 }, 6276 #ifdef CONFIG_NUMA 6277 { 6278 .procname = "numa_zonelist_order", 6279 .data = &numa_zonelist_order, 6280 .maxlen = NUMA_ZONELIST_ORDER_LEN, 6281 .mode = 0644, 6282 .proc_handler = numa_zonelist_order_handler, 6283 }, 6284 { 6285 .procname = "min_unmapped_ratio", 6286 .data = &sysctl_min_unmapped_ratio, 6287 .maxlen = sizeof(sysctl_min_unmapped_ratio), 6288 .mode = 0644, 6289 .proc_handler = sysctl_min_unmapped_ratio_sysctl_handler, 6290 .extra1 = SYSCTL_ZERO, 6291 .extra2 = SYSCTL_ONE_HUNDRED, 6292 }, 6293 { 6294 .procname = "min_slab_ratio", 6295 .data = &sysctl_min_slab_ratio, 6296 .maxlen = sizeof(sysctl_min_slab_ratio), 6297 .mode = 0644, 6298 .proc_handler = sysctl_min_slab_ratio_sysctl_handler, 6299 .extra1 = SYSCTL_ZERO, 6300 .extra2 = SYSCTL_ONE_HUNDRED, 6301 }, 6302 #endif 6303 }; 6304 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki