Hi Matthew, I love your patch! Yet something to improve: [auto build test ERROR on next-20230207] [also build test ERROR on v6.2-rc7] [cannot apply to linus/master v6.2-rc7 v6.2-rc6 v6.2-rc5] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Matthew-Wilcox-Oracle/filemap-Add-filemap_map_folio_range/20230208-041404 patch link: https://lore.kernel.org/r/20230207194937.122543-3-willy%40infradead.org patch subject: [PATCH v5 2/5] mm: Add generic set_ptes() config: arm-randconfig-r016-20230205 (https://download.01.org/0day-ci/archive/20230208/202302080851.OXQ3usg2-lkp@xxxxxxxxx/config) compiler: arm-linux-gnueabi-gcc (GCC) 12.1.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/intel-lab-lkp/linux/commit/1549aed85e99407fbf2600da432b84c0660d2029 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Matthew-Wilcox-Oracle/filemap-Add-filemap_map_folio_range/20230208-041404 git checkout 1549aed85e99407fbf2600da432b84c0660d2029 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arm olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arm prepare If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@xxxxxxxxx> All errors (new ones prefixed by >>): In file included from include/linux/mm.h:29, from arch/arm/kernel/asm-offsets.c:12: include/linux/pgtable.h: In function 'set_ptes': >> include/linux/pgtable.h:1458:17: error: implicit declaration of function 'set_pte_at'; did you mean 'set_ptes'? [-Werror=implicit-function-declaration] 1458 | set_pte_at(mm, addr, ptep, pte); | ^~~~~~~~~~ | set_ptes cc1: some warnings being treated as errors make[2]: *** [scripts/Makefile.build:114: arch/arm/kernel/asm-offsets.s] Error 1 make[2]: Target 'prepare' not remade because of errors. make[1]: *** [Makefile:1286: prepare0] Error 2 make[1]: Target 'prepare' not remade because of errors. make: *** [Makefile:226: __sub-make] Error 2 make: Target 'prepare' not remade because of errors. vim +1458 include/linux/pgtable.h 1441 1442 #ifndef set_ptes 1443 /** 1444 * set_ptes - Map consecutive pages to a contiguous range of addresses. 1445 * @mm: Address space to map the pages into. 1446 * @addr: Address to map the first page at. 1447 * @ptep: Page table pointer for the first entry. 1448 * @pte: Page table entry for the first page. 1449 * @nr: Number of pages to map. 1450 * 1451 * Context: The caller holds the page table lock. The PTEs all lie 1452 * within a single PMD (and VMA, and folio). 1453 */ 1454 static inline void set_ptes(struct mm_struct *mm, unsigned long addr, 1455 pte_t *ptep, pte_t pte, unsigned int nr) 1456 { 1457 for (;;) { > 1458 set_pte_at(mm, addr, ptep, pte); 1459 if (--nr == 0) 1460 break; 1461 ptep++; 1462 addr += PAGE_SIZE; 1463 /* This works for x86. Check how PTEs are encoded */ 1464 pte = __pte(pte_val(pte) + PAGE_SIZE); 1465 } 1466 } 1467 #endif 1468 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests