Hi Alistair, kernel test robot noticed the following build errors: [auto build test ERROR on 81983758430957d9a5cb3333fe324fd70cf63e7e] url: https://github.com/intel-lab-lkp/linux/commits/Alistair-Popple/fuse-Fix-dax-truncate-punch_hole-fault-path/20241125-094004 base: 81983758430957d9a5cb3333fe324fd70cf63e7e patch link: https://lore.kernel.org/r/f1a93b8a38e14e2ab279ece310175334e973b970.1732239628.git-series.apopple%40nvidia.com patch subject: [PATCH v3 11/25] mm: Allow compound zone device pages config: powerpc-ebony_defconfig (https://download.01.org/0day-ci/archive/20241125/202411251251.Tjig4oaV-lkp@xxxxxxxxx/config) compiler: clang version 20.0.0git (https://github.com/llvm/llvm-project 592c0fe55f6d9a811028b5f3507be91458ab2713) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241125/202411251251.Tjig4oaV-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202411251251.Tjig4oaV-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): In file included from arch/powerpc/kernel/asm-offsets.c:19: In file included from include/linux/mman.h:5: In file included from include/linux/mm.h:32: >> include/linux/memremap.h:164:3: error: call to undeclared function 'page_pgmap'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 164 | page_pgmap(page)->type == MEMORY_DEVICE_PRIVATE; | ^ >> include/linux/memremap.h:164:21: error: member reference type 'int' is not a pointer 164 | page_pgmap(page)->type == MEMORY_DEVICE_PRIVATE; | ~~~~~~~~~~~~~~~~ ^ include/linux/memremap.h:176:3: error: call to undeclared function 'page_pgmap'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 176 | page_pgmap(page)->type == MEMORY_DEVICE_PCI_P2PDMA; | ^ include/linux/memremap.h:176:21: error: member reference type 'int' is not a pointer 176 | page_pgmap(page)->type == MEMORY_DEVICE_PCI_P2PDMA; | ~~~~~~~~~~~~~~~~ ^ include/linux/memremap.h:182:3: error: call to undeclared function 'page_pgmap'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 182 | page_pgmap(page)->type == MEMORY_DEVICE_COHERENT; | ^ include/linux/memremap.h:182:21: error: member reference type 'int' is not a pointer 182 | page_pgmap(page)->type == MEMORY_DEVICE_COHERENT; | ~~~~~~~~~~~~~~~~ ^ In file included from arch/powerpc/kernel/asm-offsets.c:19: In file included from include/linux/mman.h:5: In file included from include/linux/mm.h:2213: include/linux/vmstat.h:518:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion] 518 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_" | ~~~~~~~~~~~ ^ ~~~ In file included from arch/powerpc/kernel/asm-offsets.c:19: include/linux/mman.h:157:9: warning: division by zero is undefined [-Wdivision-by-zero] 157 | _calc_vm_trans(flags, MAP_LOCKED, VM_LOCKED ) | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mman.h:136:21: note: expanded from macro '_calc_vm_trans' 136 | : ((x) & (bit1)) / ((bit1) / (bit2)))) | ^ ~~~~~~~~~~~~~~~~~ include/linux/mman.h:158:9: warning: division by zero is undefined [-Wdivision-by-zero] 158 | _calc_vm_trans(flags, MAP_SYNC, VM_SYNC ) | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mman.h:136:21: note: expanded from macro '_calc_vm_trans' 136 | : ((x) & (bit1)) / ((bit1) / (bit2)))) | ^ ~~~~~~~~~~~~~~~~~ include/linux/mman.h:159:9: warning: division by zero is undefined [-Wdivision-by-zero] 159 | _calc_vm_trans(flags, MAP_STACK, VM_NOHUGEPAGE) | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mman.h:136:21: note: expanded from macro '_calc_vm_trans' 136 | : ((x) & (bit1)) / ((bit1) / (bit2)))) | ^ ~~~~~~~~~~~~~~~~~ 4 warnings and 6 errors generated. make[3]: *** [scripts/Makefile.build:102: arch/powerpc/kernel/asm-offsets.s] Error 1 make[3]: Target 'prepare' not remade because of errors. make[2]: *** [Makefile:1203: prepare0] Error 2 make[2]: Target 'prepare' not remade because of errors. make[1]: *** [Makefile:224: __sub-make] Error 2 make[1]: Target 'prepare' not remade because of errors. make: *** [Makefile:224: __sub-make] Error 2 make: Target 'prepare' not remade because of errors. vim +/page_pgmap +164 include/linux/memremap.h 159 160 static inline bool is_device_private_page(const struct page *page) 161 { 162 return IS_ENABLED(CONFIG_DEVICE_PRIVATE) && 163 is_zone_device_page(page) && > 164 page_pgmap(page)->type == MEMORY_DEVICE_PRIVATE; 165 } 166 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki