On 2024-09-09 07:29:55, kernel test robot wrote: > 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-Track-TDP-MMU-NX-huge-pages-separately/20240907-044800 > base: 332d2c1d713e232e163386c35a3ba0c1b90df83f > patch link: https://lore.kernel.org/r/20240906204515.3276696-3-vipinsh%40google.com > patch subject: [PATCH v3 2/2] KVM: x86/mmu: Recover TDP MMU NX huge pages using MMU read lock > config: i386-randconfig-005-20240908 (https://download.01.org/0day-ci/archive/20240909/202409090949.xuOxMsJ2-lkp@xxxxxxxxx/config) > compiler: clang version 18.1.5 (https://github.com/llvm/llvm-project 617a15a9eac96088ae5e9134248d8236e34b91b1) > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240909/202409090949.xuOxMsJ2-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/202409090949.xuOxMsJ2-lkp@xxxxxxxxx/ > > All errors (new ones prefixed by >>): > > >> ld.lld: error: undefined symbol: kvm_tdp_mmu_zap_possible_nx_huge_page > >>> referenced by mmu.c:7415 (arch/x86/kvm/mmu/mmu.c:7415) > >>> arch/x86/kvm/mmu/mmu.o:(kvm_recover_nx_huge_pages) in archive vmlinux.a I missed it because i386 command I used was from config given in v1 of the series by lkp bot. That command was just for build kvm directory and ldd didn't get invoke. I will send out a new version after collecting feedback on this version of the series. I am thinking of below change to fix the error. diff --git a/arch/x86/kvm/mmu/tdp_mmu.h b/arch/x86/kvm/mmu/tdp_mmu.h index ed4bdceb9aec..37620496f64a 100644 --- a/arch/x86/kvm/mmu/tdp_mmu.h +++ b/arch/x86/kvm/mmu/tdp_mmu.h @@ -20,8 +20,6 @@ __must_check static inline bool kvm_tdp_mmu_get_root(struct kvm_mmu_page *root) void kvm_tdp_mmu_put_root(struct kvm *kvm, struct kvm_mmu_page *root); bool kvm_tdp_mmu_zap_leafs(struct kvm *kvm, gfn_t start, gfn_t end, bool flush); -bool kvm_tdp_mmu_zap_possible_nx_huge_page(struct kvm *kvm, - struct kvm_mmu_page *sp); void kvm_tdp_mmu_zap_all(struct kvm *kvm); void kvm_tdp_mmu_invalidate_all_roots(struct kvm *kvm); void kvm_tdp_mmu_zap_invalidated_roots(struct kvm *kvm); @@ -73,8 +71,17 @@ void kvm_tdp_mmu_recover_nx_huge_pages(struct kvm *kvm); #ifdef CONFIG_X86_64 static inline bool is_tdp_mmu_page(struct kvm_mmu_page *sp) { return sp->tdp_mmu_page; } +bool kvm_tdp_mmu_zap_possible_nx_huge_page(struct kvm *kvm, + struct kvm_mmu_page *sp); #else static inline bool is_tdp_mmu_page(struct kvm_mmu_page *sp) { return false; } +static bool kvm_tdp_mmu_zap_possible_nx_huge_page(struct kvm *kvm, + struct kvm_mmu_page *sp) +{ + WARN_ONCE(1, "TDP MMU not supported in 32bit builds"); + return false; +} + #endif #endif /* __KVM_X86_MMU_TDP_MMU_H */ > > -- > 0-DAY CI Kernel Test Service > https://github.com/intel/lkp-tests/wiki