Re: [PATCH v2 4/5] mm: ptdump: Have ptdump_check_wx() return bool

From: kernel test robot
Date: Wed Jan 31 2024 - 18:32:00 EST


Hi Christophe,

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/Christophe-Leroy/arm-ptdump-Rename-CONFIG_DEBUG_WX-to-CONFIG_ARM_DEBUG_WX/20240130-183913
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link: https://lore.kernel.org/r/7943149fe955458cb7b57cd483bf41a3aad94684.1706610398.git.christophe.leroy%40csgroup.eu
patch subject: [PATCH v2 4/5] mm: ptdump: Have ptdump_check_wx() return bool
config: x86_64-defconfig (https://download.01.org/0day-ci/archive/20240201/202402010649.MtBnf3u8-lkp@xxxxxxxxx/config)
compiler: gcc-11 (Debian 11.3.0-12) 11.3.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240201/202402010649.MtBnf3u8-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/202402010649.MtBnf3u8-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

arch/x86/mm/dump_pagetables.c:365:6: error: two or more data types in declaration specifiers
365 | bool void ptdump_walk_pgd_level_core(struct seq_file *m,
| ^~~~
>> arch/x86/mm/dump_pagetables.c:365:11: warning: no previous prototype for 'ptdump_walk_pgd_level_core' [-Wmissing-prototypes]
365 | bool void ptdump_walk_pgd_level_core(struct seq_file *m,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~


vim +/ptdump_walk_pgd_level_core +365 arch/x86/mm/dump_pagetables.c

364
> 365 bool void ptdump_walk_pgd_level_core(struct seq_file *m,
366 struct mm_struct *mm, pgd_t *pgd,
367 bool checkwx, bool dmesg)
368 {
369 const struct ptdump_range ptdump_ranges[] = {
370 #ifdef CONFIG_X86_64
371 {0, PTRS_PER_PGD * PGD_LEVEL_MULT / 2},
372 {GUARD_HOLE_END_ADDR, ~0UL},
373 #else
374 {0, ~0UL},
375 #endif
376 {0, 0}
377 };
378
379 struct pg_state st = {
380 .ptdump = {
381 .note_page = note_page,
382 .effective_prot = effective_prot,
383 .range = ptdump_ranges
384 },
385 .level = -1,
386 .to_dmesg = dmesg,
387 .check_wx = checkwx,
388 .seq = m
389 };
390
391 ptdump_walk_pgd(&st.ptdump, mm, pgd);
392
393 if (!checkwx)
394 return true;
395 if (st.wx_pages) {
396 pr_info("x86/mm: Checked W+X mappings: FAILED, %lu W+X pages found.\n",
397 st.wx_pages);
398
399 return false;
400 } else {
401 pr_info("x86/mm: Checked W+X mappings: passed, no W+X pages found.\n");
402
403 return true;
404 }
405 }
406

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