Re: [PATCH next 1/2] mm/huge_memory: Implementation of THP COW for executable file mmap
From: kernel test robot <hidden>
Date: 2025-12-16 05:04:01
Also in:
linux-mm, lkml, llvm, oe-kbuild-all
Hi Zhang, kernel test robot noticed the following build errors: [auto build test ERROR on next-20251215] url: https://github.com/intel-lab-lkp/linux/commits/Zhang-Qilong/mm-huge_memory-Implementation-of-THP-COW-for-executable-file-mmap/20251215-204035 base: next-20251215 patch link: https://lore.kernel.org/r/20251215123407.380813-2-zhangqilong3%40huawei.com patch subject: [PATCH next 1/2] mm/huge_memory: Implementation of THP COW for executable file mmap config: x86_64-allnoconfig (https://download.01.org/0day-ci/archive/20251216/202512161240.Ej5BIvIk-lkp@intel.com/config) compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251216/202512161240.Ej5BIvIk-lkp@intel.com/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 [off-list ref] | Closes: https://lore.kernel.org/oe-kbuild-all/202512161240.Ej5BIvIk-lkp@intel.com/ (local) All errors (new ones prefixed by >>):
quoted
mm/memory.c:6134:7: error: call to undeclared function 'vma_is_special_huge'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
6134 | if (vma_is_special_huge(vma) || vma_is_shmem(vma))
| ^
1 error generated.
vim +/vma_is_special_huge +6134 mm/memory.c
6104
6105 /* `inline' is required to avoid gcc 4.1.2 build error */
6106 static inline vm_fault_t wp_huge_pmd(struct vm_fault *vmf)
6107 {
6108 struct vm_area_struct *vma = vmf->vma;
6109 const bool unshare = vmf->flags & FAULT_FLAG_UNSHARE;
6110 vm_fault_t ret;
6111
6112 if (vma_is_anonymous(vma)) {
6113 if (likely(!unshare) &&
6114 userfaultfd_huge_pmd_wp(vma, vmf->orig_pmd)) {
6115 if (userfaultfd_wp_async(vmf->vma))
6116 goto split;
6117 return handle_userfault(vmf, VM_UFFD_WP);
6118 }
6119 return do_huge_pmd_wp_page(vmf);
6120 }
6121
6122 if (vma->vm_flags & (VM_SHARED | VM_MAYSHARE)) {
6123 if (vma->vm_ops->huge_fault) {
6124 ret = vma->vm_ops->huge_fault(vmf, PMD_ORDER);
6125 if (!(ret & VM_FAULT_FALLBACK))
6126 return ret;
6127 }
6128 }
6129
6130
6131 if (is_exec_mapping(vma->vm_flags) &&
6132 is_cow_mapping(vma->vm_flags)) {
6133 /* Skip special and shmem */6134 if (vma_is_special_huge(vma) || vma_is_shmem(vma))
6135 goto split; 6136 6137 ret = do_huge_pmd_exec_cow(vmf); 6138 if (!(ret & VM_FAULT_FALLBACK)) 6139 return ret; 6140 } 6141 6142 split: 6143 /* COW or write-notify handled on pte level: split pmd. */ 6144 __split_huge_pmd(vma, vmf->pmd, vmf->address, false); 6145 6146 return VM_FAULT_FALLBACK; 6147 } 6148 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki