Hi Yu-cheng, Thank you for the patch! Yet something to improve: [auto build test ERROR on asm-generic/master] [also build test ERROR on v4.17 next-20180607] [cannot apply to tip/x86/core mmotm/master] [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/Yu-cheng-Yu/Control-Flow-Enforcement-Part-2/20180608-111152 base: https://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git master config: i386-tinyconfig (attached as .config) compiler: gcc-7 (Debian 7.3.0-16) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 Note: the linux-review/Yu-cheng-Yu/Control-Flow-Enforcement-Part-2/20180608-111152 HEAD 71d9d315a5e241d9b500540a452d0bec292e1dbb builds fine. It only hurts bisectibility. All errors (new ones prefixed by >>): In file included from include/linux/memremap.h:8:0, from include/linux/mm.h:27, from include/linux/memcontrol.h:29, from include/linux/swap.h:9, from include/linux/suspend.h:5, from arch/x86/kernel/asm-offsets.c:13: arch/x86/include/asm/pgtable.h: In function 'pte_dirty': >> arch/x86/include/asm/pgtable.h:121:26: error: '_PAGE_DIRTY' undeclared (first use in this function); did you mean '_PAGE_DIRTY_HW'? return pte_flags(pte) & _PAGE_DIRTY; ^~~~~~~~~~~ _PAGE_DIRTY_HW arch/x86/include/asm/pgtable.h:121:26: note: each undeclared identifier is reported only once for each function it appears in arch/x86/include/asm/pgtable.h: In function 'pmd_dirty': arch/x86/include/asm/pgtable.h:145:26: error: '_PAGE_DIRTY' undeclared (first use in this function); did you mean '_PAGE_DIRTY_HW'? return pmd_flags(pmd) & _PAGE_DIRTY; ^~~~~~~~~~~ _PAGE_DIRTY_HW arch/x86/include/asm/pgtable.h: In function 'pud_dirty': arch/x86/include/asm/pgtable.h:155:26: error: '_PAGE_DIRTY' undeclared (first use in this function); did you mean '_PAGE_DIRTY_HW'? return pud_flags(pud) & _PAGE_DIRTY; ^~~~~~~~~~~ _PAGE_DIRTY_HW arch/x86/include/asm/pgtable.h: In function 'pte_mkclean': arch/x86/include/asm/pgtable.h:286:30: error: '_PAGE_DIRTY' undeclared (first use in this function); did you mean '_PAGE_DIRTY_HW'? return pte_clear_flags(pte, _PAGE_DIRTY); ^~~~~~~~~~~ _PAGE_DIRTY_HW arch/x86/include/asm/pgtable.h: In function 'pmd_mkclean': arch/x86/include/asm/pgtable.h:370:30: error: '_PAGE_DIRTY' undeclared (first use in this function); did you mean '_PAGE_DIRTY_HW'? return pmd_clear_flags(pmd, _PAGE_DIRTY); ^~~~~~~~~~~ _PAGE_DIRTY_HW arch/x86/include/asm/pgtable.h: In function 'pud_mkclean': arch/x86/include/asm/pgtable.h:429:30: error: '_PAGE_DIRTY' undeclared (first use in this function); did you mean '_PAGE_DIRTY_HW'? return pud_clear_flags(pud, _PAGE_DIRTY); ^~~~~~~~~~~ _PAGE_DIRTY_HW make[2]: *** [arch/x86/kernel/asm-offsets.s] Error 1 make[2]: Target '__build' not remade because of errors. make[1]: *** [prepare0] Error 2 make[1]: Target 'prepare' not remade because of errors. make: *** [sub-make] Error 2 vim +121 arch/x86/include/asm/pgtable.h 54321d947 arch/x86/include/asm/pgtable.h Jeremy Fitzhardinge 2009-02-11 114 8405b122a include/asm-x86/pgtable.h Jeremy Fitzhardinge 2008-01-30 115 /* 4614139c6 include/asm-x86/pgtable.h Jeremy Fitzhardinge 2008-01-30 116 * The following only work if pte_present() is true. 4614139c6 include/asm-x86/pgtable.h Jeremy Fitzhardinge 2008-01-30 117 * Undefined behaviour if not.. 4614139c6 include/asm-x86/pgtable.h Jeremy Fitzhardinge 2008-01-30 118 */ 3cbaeafeb include/asm-x86/pgtable.h Joe Perches 2008-03-23 119 static inline int pte_dirty(pte_t pte) 3cbaeafeb include/asm-x86/pgtable.h Joe Perches 2008-03-23 120 { a15af1c9e include/asm-x86/pgtable.h Jeremy Fitzhardinge 2008-05-26 @121 return pte_flags(pte) & _PAGE_DIRTY; 3cbaeafeb include/asm-x86/pgtable.h Joe Perches 2008-03-23 122 } 3cbaeafeb include/asm-x86/pgtable.h Joe Perches 2008-03-23 123 :::::: The code at line 121 was first introduced by commit :::::: a15af1c9ea2750a9ff01e51615c45950bad8221b x86/paravirt: add pte_flags to just get pte flags :::::: TO: Jeremy Fitzhardinge :::::: CC: Thomas Gleixner --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation