Re: [PATCH 1/1] mm/pgtable/debug: Add test validating architecture page table helpers

From: kbuild test robot
Date: Tue Sep 03 2019 - 07:14:35 EST


Hi Anshuman,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[cannot apply to v5.3-rc7 next-20190902]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Anshuman-Khandual/mm-debug-Add-tests-for-architecture-exported-page-table-helpers/20190903-162959
config: m68k-allmodconfig (attached as .config)
compiler: m68k-linux-gcc (GCC) 7.4.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=7.4.0 make.cross ARCH=m68k

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

All error/warnings (new ones prefixed by >>):

In file included from arch/m68k/include/asm/bug.h:32:0,
from include/linux/bug.h:5,
from include/linux/thread_info.h:12,
from include/asm-generic/preempt.h:5,
from ./arch/m68k/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:78,
from arch/m68k/include/asm/irqflags.h:6,
from include/linux/irqflags.h:16,
from arch/m68k/include/asm/atomic.h:6,
from include/linux/atomic.h:7,
from include/linux/mm_types_task.h:13,
from include/linux/mm_types.h:5,
from include/linux/hugetlb.h:5,
from mm/arch_pgtable_test.c:14:
mm/arch_pgtable_test.c: In function 'pmd_clear_tests':
>> arch/m68k/include/asm/page.h:31:22: error: lvalue required as unary '&' operand
#define pmd_val(x) ((&x)->pmd[0])
^
include/asm-generic/bug.h:124:25: note: in definition of macro 'WARN_ON'
int __ret_warn_on = !!(condition); \
^~~~~~~~~
>> arch/m68k/include/asm/motorola_pgtable.h:138:26: note: in expansion of macro 'pmd_val'
#define pmd_none(pmd) (!pmd_val(pmd))
^~~~~~~
>> mm/arch_pgtable_test.c:233:11: note: in expansion of macro 'pmd_none'
WARN_ON(!pmd_none(READ_ONCE(*pmdp)));
^~~~~~~~
mm/arch_pgtable_test.c: In function 'pmd_populate_tests':
>> arch/m68k/include/asm/page.h:31:22: error: lvalue required as unary '&' operand
#define pmd_val(x) ((&x)->pmd[0])
^
include/asm-generic/bug.h:124:25: note: in definition of macro 'WARN_ON'
int __ret_warn_on = !!(condition); \
^~~~~~~~~
arch/m68k/include/asm/motorola_pgtable.h:139:25: note: in expansion of macro 'pmd_val'
#define pmd_bad(pmd) ((pmd_val(pmd) & _DESCTYPE_MASK) != _PAGE_TABLE)
^~~~~~~
>> mm/arch_pgtable_test.c:245:10: note: in expansion of macro 'pmd_bad'
WARN_ON(pmd_bad(READ_ONCE(*pmdp)));
^~~~~~~

vim +/pmd_none +233 mm/arch_pgtable_test.c

228
229 static void pmd_clear_tests(pmd_t *pmdp)
230 {
231 memset(pmdp, RANDOM_NZVALUE, sizeof(pmd_t));
232 pmd_clear(pmdp);
> 233 WARN_ON(!pmd_none(READ_ONCE(*pmdp)));
234 }
235
236 static void pmd_populate_tests(struct mm_struct *mm, pmd_t *pmdp,
237 pgtable_t pgtable)
238 {
239 /*
240 * This entry points to next level page table page.
241 * Hence this must not qualify as pmd_bad().
242 */
243 pmd_clear(pmdp);
244 pmd_populate(mm, pmdp, pgtable);
> 245 WARN_ON(pmd_bad(READ_ONCE(*pmdp)));
246 }
247

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip