Hi Chih-En, Thank you for the patch! Yet something to improve: [auto build test ERROR on v6.1-rc7] [also build test ERROR on next-20221220] [cannot apply to akpm-mm/mm-everything tip/perf/core acme/perf/core linus/master v6.1 v6.1-rc8] [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/Chih-En-Lin/Introduce-Copy-On-Write-to-Page-Table/20221220-153207 patch link: https://lore.kernel.org/r/20221220072743.3039060-3-shiyn.lin%40gmail.com patch subject: [PATCH v3 02/14] mm: Add Copy-On-Write PTE to fork() config: powerpc-allnoconfig compiler: powerpc-linux-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/7ddfab485179ecb834e4fcdf1fe401837d9d33a5 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Chih-En-Lin/Introduce-Copy-On-Write-to-Page-Table/20221220-153207 git checkout 7ddfab485179ecb834e4fcdf1fe401837d9d33a5 # 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=powerpc olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=powerpc SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All errors (new ones prefixed by >>): In file included from arch/powerpc/include/asm/page.h:331, from arch/powerpc/include/asm/thread_info.h:13, from include/linux/thread_info.h:60, from arch/powerpc/include/asm/ptrace.h:328, from arch/powerpc/include/asm/hw_irq.h:12, from arch/powerpc/include/asm/irqflags.h:12, from include/linux/irqflags.h:16, from include/asm-generic/cmpxchg-local.h:6, from arch/powerpc/include/asm/cmpxchg.h:526, from arch/powerpc/include/asm/atomic.h:11, from include/linux/atomic.h:7, from include/linux/cpumask.h:13, from include/linux/smp.h:13, from include/linux/kernel_stat.h:5, from mm/memory.c:42: mm/memory.c: In function 'copy_cow_pte_range': >> include/asm-generic/memory_model.h:18:33: error: initialization of 'pgtable_t' {aka 'long unsigned int *'} from incompatible pointer type 'struct page *' [-Werror=incompatible-pointer-types] 18 | #define __pfn_to_page(pfn) (mem_map + ((pfn) - ARCH_PFN_OFFSET)) | ^ include/asm-generic/memory_model.h:53:21: note: in expansion of macro '__pfn_to_page' 53 | #define pfn_to_page __pfn_to_page | ^~~~~~~~~~~~~ arch/powerpc/include/asm/book3s/32/pgtable.h:363:33: note: in expansion of macro 'pfn_to_page' 363 | #define pmd_page(pmd) pfn_to_page(pmd_pfn(pmd)) | ^~~~~~~~~~~ mm/memory.c:1188:31: note: in expansion of macro 'pmd_page' 1188 | pgtable_t pte_table = pmd_page(*src_pmd); | ^~~~~~~~ >> mm/memory.c:1300:9: error: implicit declaration of function 'set_pmd_at'; did you mean 'set_pte_at'? [-Werror=implicit-function-declaration] 1300 | set_pmd_at(dst_mm, orig_addr, dst_pmd, pmd_wrprotect(*src_pmd)); | ^~~~~~~~~~ | set_pte_at >> mm/memory.c:1300:48: error: implicit declaration of function 'pmd_wrprotect'; did you mean 'pte_wrprotect'? [-Werror=implicit-function-declaration] 1300 | set_pmd_at(dst_mm, orig_addr, dst_pmd, pmd_wrprotect(*src_pmd)); | ^~~~~~~~~~~~~ | pte_wrprotect In file included from : In function 'pmdp_set_wrprotect', inlined from 'copy_cow_pte_range.constprop.isra' at mm/memory.c:1299:2: include/linux/compiler_types.h:357:45: error: call to '__compiletime_assert_188' declared with attribute error: BUILD_BUG failed 357 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^ include/linux/compiler_types.h:338:25: note: in definition of macro '__compiletime_assert' 338 | prefix ## suffix(); \ | ^~~~~~ include/linux/compiler_types.h:357:9: note: in expansion of macro '_compiletime_assert' 357 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' 39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) | ^~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:59:21: note: in expansion of macro 'BUILD_BUG_ON_MSG' 59 | #define BUILD_BUG() BUILD_BUG_ON_MSG(1, "BUILD_BUG failed") | ^~~~~~~~~~~~~~~~ include/linux/pgtable.h:524:9: note: in expansion of macro 'BUILD_BUG' 524 | BUILD_BUG(); | ^~~~~~~~~ cc1: some warnings being treated as errors vim +18 include/asm-generic/memory_model.h a117e66ed45ac0 KAMEZAWA Hiroyuki 2006-03-27 17 67de648211fa04 Andy Whitcroft 2006-06-23 @18 #define __pfn_to_page(pfn) (mem_map + ((pfn) - ARCH_PFN_OFFSET)) 67de648211fa04 Andy Whitcroft 2006-06-23 19 #define __page_to_pfn(page) ((unsigned long)((page) - mem_map) + \ a117e66ed45ac0 KAMEZAWA Hiroyuki 2006-03-27 20 ARCH_PFN_OFFSET) a117e66ed45ac0 KAMEZAWA Hiroyuki 2006-03-27 21 -- 0-DAY CI Kernel Test Service https://01.org/lkp