Re: [PATCH v2 09/12] mm/vm_debug_pgtable: Use struct pgtable_debug_args in PUD modifying tests

From: Gavin Shan
Date: Mon Jul 19 2021 - 07:30:04 EST


On 7/19/21 7:13 PM, kernel test robot wrote:
Hi Gavin,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v5.14-rc2]
[cannot apply to hnaz-linux-mm/master linux/master next-20210716]
[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]

url: https://github.com/0day-ci/linux/commits/Gavin-Shan/mm-debug_vm_pgtable-Enhancements/20210719-134236
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 2734d6c1b1a089fb593ef6a23d4b70903526fe0c
config: arm64-randconfig-r005-20210719 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 5d5b08761f944d5b9822d582378333cc4b36a0a7)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://github.com/0day-ci/linux/commit/69db26024e6bd48423ebc83b0f83b7b52217b624
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Gavin-Shan/mm-debug_vm_pgtable-Enhancements/20210719-134236
git checkout 69db26024e6bd48423ebc83b0f83b7b52217b624
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>


Thanks for reporting the build warnings. I will fix it in v3.

All warnings (new ones prefixed by >>):

mm/debug_vm_pgtable.c:445:8: warning: variable 'pud' set but not used [-Wunused-but-set-variable]
pud_t pud;

A "WARN_ON(!pud_none(pud)) is missed from PATCH[9/12].

^
mm/debug_vm_pgtable.c:1140:17: warning: variable 'protnone' set but not used [-Wunused-but-set-variable]
pgprot_t prot, protnone;
^
mm/debug_vm_pgtable.c:1142:36: warning: variable 'pmd_aligned' set but not used [-Wunused-but-set-variable]
unsigned long vaddr, pte_aligned, pmd_aligned;
^
mm/debug_vm_pgtable.c:1143:42: warning: variable 'pgd_aligned' set but not used [-Wunused-but-set-variable]
unsigned long pud_aligned, p4d_aligned, pgd_aligned;
^
mm/debug_vm_pgtable.c:1143:29: warning: variable 'p4d_aligned' set but not used [-Wunused-but-set-variable]
unsigned long pud_aligned, p4d_aligned, pgd_aligned;
^
mm/debug_vm_pgtable.c:1143:16: warning: variable 'pud_aligned' set but not used [-Wunused-but-set-variable]
unsigned long pud_aligned, p4d_aligned, pgd_aligned;
^
mm/debug_vm_pgtable.c:1140:11: warning: variable 'prot' set but not used [-Wunused-but-set-variable]
pgprot_t prot, protnone;
^
7 warnings generated.


There are more build warnings introduced by other patches. I need to drop the unused
variables in debug_vm_pgtable(). So I need to drop the unused variables in separate
patches in v3, instead of dropping all of them in PATCH[v2 11/12].

Thanks,
Gavin


vim +/pud +445 mm/debug_vm_pgtable.c

5fe77be6bf14bf Shixin Liu 2021-06-30 442
69db26024e6bd4 Gavin Shan 2021-07-19 443 static void __init pud_huge_tests(struct pgtable_debug_args *args)
a5c3b9ffb0f404 Anshuman Khandual 2020-08-06 444 {
5fe77be6bf14bf Shixin Liu 2021-06-30 @445 pud_t pud;
5fe77be6bf14bf Shixin Liu 2021-06-30 446
69db26024e6bd4 Gavin Shan 2021-07-19 447 if (!arch_vmap_pud_supported(args->page_prot))
5fe77be6bf14bf Shixin Liu 2021-06-30 448 return;
5fe77be6bf14bf Shixin Liu 2021-06-30 449
5fe77be6bf14bf Shixin Liu 2021-06-30 450 pr_debug("Validating PUD huge\n");
5fe77be6bf14bf Shixin Liu 2021-06-30 451 /*
5fe77be6bf14bf Shixin Liu 2021-06-30 452 * X86 defined pud_set_huge() verifies that the given
5fe77be6bf14bf Shixin Liu 2021-06-30 453 * PUD is not a populated non-leaf entry.
5fe77be6bf14bf Shixin Liu 2021-06-30 454 */
69db26024e6bd4 Gavin Shan 2021-07-19 455 WRITE_ONCE(*(args->pudp), __pud(0));
69db26024e6bd4 Gavin Shan 2021-07-19 456 WARN_ON(!pud_set_huge(args->pudp, __pfn_to_phys(args->fixed_pud_pfn),
69db26024e6bd4 Gavin Shan 2021-07-19 457 args->page_prot));
69db26024e6bd4 Gavin Shan 2021-07-19 458 WARN_ON(!pud_clear_huge(args->pudp));
69db26024e6bd4 Gavin Shan 2021-07-19 459 pud = READ_ONCE(*(args->pudp));
a5c3b9ffb0f404 Anshuman Khandual 2020-08-06 460 }
5fe77be6bf14bf Shixin Liu 2021-06-30 461 #else /* !CONFIG_HAVE_ARCH_HUGE_VMAP */
54b1f4b50ddb0f Gavin Shan 2021-07-19 462 static void __init pmd_huge_tests(struct pgtable_debug_args *args) { }
69db26024e6bd4 Gavin Shan 2021-07-19 463 static void __init pud_huge_tests(struct pgtable_debug_args *args) { }
5fe77be6bf14bf Shixin Liu 2021-06-30 464 #endif /* CONFIG_HAVE_ARCH_HUGE_VMAP */
399145f9eb6c67 Anshuman Khandual 2020-06-04 465

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx