On Wed, 29 May 2019 15:54:52 +0800 kbuild test robot <lkp@xxxxxxxxx> wrote: > tree: https://github.com/liu-song-6/linux.git uprobe-thp > head: 950e997c620db50b4f7e578631f6c8b0e1315778 > commit: 5760548d3bd197b0858ccaf3ec8039aedba5832f [92/185] arm64: mm: Implement pte_devmap support > config: arm64-allnoconfig (attached as .config) > compiler: aarch64-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 > git checkout 5760548d3bd197b0858ccaf3ec8039aedba5832f > # save the attached .config to linux build tree > GCC_VERSION=7.4.0 make.cross ARCH=arm64 > > 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 include/linux/mm.h:99:0, > from arch/arm64/kernel/asm-offsets.c:23: > >> arch/arm64/include/asm/pgtable.h:93:27: error: expected identifier or '(' before '!' token > #define pte_devmap(pte) (!!(pte_val(pte) & PTE_DEVMAP)) > ^ > >> arch/arm64/include/asm/pgtable.h:390:26: note: in expansion of macro 'pte_devmap' > #define pmd_devmap(pmd) pte_devmap(pmd_pte(pmd)) > ^~~~~~~~~~ > >> include/linux/mm.h:540:19: note: in expansion of macro 'pmd_devmap' > static inline int pmd_devmap(pmd_t pmd) > ^~~~~~~~~~ > In file included from arch/arm64/kernel/asm-offsets.c:23:0: > >> include/linux/mm.h:544:19: error: redefinition of 'pud_devmap' > static inline int pud_devmap(pud_t pud) > ^~~~~~~~~~ > In file included from include/linux/mm.h:99:0, > from arch/arm64/kernel/asm-offsets.c:23: > arch/arm64/include/asm/pgtable.h:549:19: note: previous definition of 'pud_devmap' was here > static inline int pud_devmap(pud_t pud) > ^~~~~~~~~~ > In file included from arch/arm64/kernel/asm-offsets.c:23:0: > >> include/linux/mm.h:548:19: error: redefinition of 'pgd_devmap' > static inline int pgd_devmap(pgd_t pgd) > ^~~~~~~~~~ > In file included from include/linux/mm.h:99:0, > from arch/arm64/kernel/asm-offsets.c:23: > arch/arm64/include/asm/pgtable.h:641:19: note: previous definition of 'pgd_devmap' was here > static inline int pgd_devmap(pgd_t pgd) > ^~~~~~~~~~ Thanks. I guess we need some `#if defined(CONFIG_ARCH_HAS_PTE_DEVMAP) && defined(CONFIG_TRANSPARENT_HUGEPAGE)' sprinkled around. I'll drop this copy.