Hi Vipin, kernel test robot noticed the following build errors: [auto build test ERROR on 332d2c1d713e232e163386c35a3ba0c1b90df83f] url: https://github.com/intel-lab-lkp/linux/commits/Vipin-Sharma/KVM-x86-mmu-Split-NX-hugepage-recovery-flow-into-TDP-and-non-TDP-flow/20240814-091542 base: 332d2c1d713e232e163386c35a3ba0c1b90df83f patch link: https://lore.kernel.org/r/20240812171341.1763297-3-vipinsh%40google.com patch subject: [PATCH 2/2] KVM: x86/mmu: Recover NX Huge pages belonging to TDP MMU under MMU read lock config: i386-buildonly-randconfig-005-20240814 (https://download.01.org/0day-ci/archive/20240814/202408141753.ZY1CSmGo-lkp@xxxxxxxxx/config) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240814/202408141753.ZY1CSmGo-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/202408141753.ZY1CSmGo-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): arch/x86/kvm/mmu/mmu.c: In function 'kvm_mmu_possible_nx_huge_page': >> arch/x86/kvm/mmu/mmu.c:7324:29: error: 'struct kvm_arch' has no member named 'tdp_mmu_pages_lock' 7324 | spin_lock(&kvm->arch.tdp_mmu_pages_lock); | ^ arch/x86/kvm/mmu/mmu.c:7335:47: error: 'struct kvm_arch' has no member named 'tdp_mmu_pages_lock' 7335 | spin_unlock(&kvm->arch.tdp_mmu_pages_lock); | ^ arch/x86/kvm/mmu/mmu.c:7340:31: error: 'struct kvm_arch' has no member named 'tdp_mmu_pages_lock' 7340 | spin_unlock(&kvm->arch.tdp_mmu_pages_lock); | ^ vim +7324 arch/x86/kvm/mmu/mmu.c 7313 7314 /* 7315 * Get the first shadow mmu page of desired type from the NX huge pages list. 7316 * Return NULL if list doesn't have the needed page with in the first max pages. 7317 */ 7318 struct kvm_mmu_page *kvm_mmu_possible_nx_huge_page(struct kvm *kvm, bool tdp_mmu, 7319 ulong max) 7320 { 7321 struct kvm_mmu_page *sp = NULL; 7322 ulong i = 0; 7323 > 7324 spin_lock(&kvm->arch.tdp_mmu_pages_lock); 7325 /* 7326 * We use a separate list instead of just using active_mmu_pages because 7327 * the number of shadow pages that be replaced with an NX huge page is 7328 * expected to be relatively small compared to the total number of shadow 7329 * pages. And because the TDP MMU doesn't use active_mmu_pages. 7330 */ 7331 list_for_each_entry(sp, &kvm->arch.possible_nx_huge_pages, possible_nx_huge_page_link) { 7332 if (i++ >= max) 7333 break; 7334 if (is_tdp_mmu_page(sp) == tdp_mmu) { 7335 spin_unlock(&kvm->arch.tdp_mmu_pages_lock); 7336 return sp; 7337 } 7338 } 7339 7340 spin_unlock(&kvm->arch.tdp_mmu_pages_lock); 7341 return NULL; 7342 } 7343 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki