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 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