Hi Dev, kernel test robot noticed the following build warnings: [auto build test WARNING on v6.11-rc7] [also build test WARNING on linus/master] [cannot apply to akpm-mm/mm-everything next-20240912] [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/Dev-Jain/mm-Abstract-THP-allocation/20240911-145809 base: v6.11-rc7 patch link: https://lore.kernel.org/r/20240911065600.1002644-2-dev.jain%40arm.com patch subject: [PATCH v3 1/2] mm: Abstract THP allocation config: x86_64-rhel-8.3-rust (https://download.01.org/0day-ci/archive/20240912/202409122144.jqe4JROY-lkp@xxxxxxxxx/config) compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240912/202409122144.jqe4JROY-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/202409122144.jqe4JROY-lkp@xxxxxxxxx/ All warnings (new ones prefixed by >>): >> mm/huge_memory.c:1012:6: warning: variable 'pgtable' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] 1012 | if (unlikely(!folio)) { | ^~~~~~~~~~~~~~~~ include/linux/compiler.h:77:22: note: expanded from macro 'unlikely' 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ mm/huge_memory.c:1051:6: note: uninitialized use occurs here 1051 | if (pgtable) | ^~~~~~~ mm/huge_memory.c:1012:2: note: remove the 'if' if its condition is always false 1012 | if (unlikely(!folio)) { | ^~~~~~~~~~~~~~~~~~~~~~~ 1013 | ret = VM_FAULT_FALLBACK; | ~~~~~~~~~~~~~~~~~~~~~~~~ 1014 | goto release; | ~~~~~~~~~~~~~ 1015 | } | ~ mm/huge_memory.c:1006:19: note: initialize the variable 'pgtable' to silence this warning 1006 | pgtable_t pgtable; | ^ | = NULL 1 warning generated. vim +1012 mm/huge_memory.c 1001 1002 static vm_fault_t __do_huge_pmd_anonymous_page(struct vm_fault *vmf) 1003 { 1004 struct vm_area_struct *vma = vmf->vma; 1005 struct folio *folio; 1006 pgtable_t pgtable; 1007 unsigned long haddr = vmf->address & HPAGE_PMD_MASK; 1008 vm_fault_t ret = 0; 1009 gfp_t gfp = vma_thp_gfp_mask(vma); 1010 1011 folio = pmd_thp_fault_alloc(gfp, vma, haddr, vmf->address); > 1012 if (unlikely(!folio)) { 1013 ret = VM_FAULT_FALLBACK; 1014 goto release; 1015 } 1016 1017 pgtable = pte_alloc_one(vma->vm_mm); 1018 if (unlikely(!pgtable)) { 1019 ret = VM_FAULT_OOM; 1020 goto release; 1021 } 1022 1023 vmf->ptl = pmd_lock(vma->vm_mm, vmf->pmd); 1024 1025 if (unlikely(!pmd_none(*vmf->pmd))) { 1026 goto unlock_release; 1027 } else { 1028 ret = check_stable_address_space(vma->vm_mm); 1029 if (ret) 1030 goto unlock_release; 1031 1032 /* Deliver the page fault to userland */ 1033 if (userfaultfd_missing(vma)) { 1034 spin_unlock(vmf->ptl); 1035 folio_put(folio); 1036 pte_free(vma->vm_mm, pgtable); 1037 ret = handle_userfault(vmf, VM_UFFD_MISSING); 1038 VM_BUG_ON(ret & VM_FAULT_FALLBACK); 1039 return ret; 1040 } 1041 pgtable_trans_huge_deposit(vma->vm_mm, vmf->pmd, pgtable); 1042 map_pmd_thp(folio, vmf, vma, haddr); 1043 spin_unlock(vmf->ptl); 1044 __pmd_thp_fault_success_stats(vma); 1045 } 1046 1047 return 0; 1048 unlock_release: 1049 spin_unlock(vmf->ptl); 1050 release: 1051 if (pgtable) 1052 pte_free(vma->vm_mm, pgtable); 1053 if (folio) 1054 folio_put(folio); 1055 return ret; 1056 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki