On 18/06/21 18:47, David Matlack wrote: > On Fri, Jun 18, 2021 at 12:42:56PM +0200, Paolo Bonzini wrote: >> On 18/06/21 09:17, kernel test robot wrote: >>> ld: arch/x86/kvm/mmu/mmu.o: in function `get_mmio_spte': >>>>> arch/x86/kvm/mmu/mmu.c:3612: undefined reference to `kvm_tdp_mmu_get_walk' >>> ld: arch/x86/kvm/mmu/mmu.o: in function `direct_page_fault': >>>>> arch/x86/kvm/mmu/mmu.c:3830: undefined reference to `kvm_tdp_mmu_map' >> >> Turns out sometimes is_tdp_mmu_root is not inlined after this patch. >> Fixed thusly: > > Thanks for the fix. I guess after I removed the is_tdp_mmu_enabled() > check the compiler couldn't determine what is_tdp_mmu_root() would > return on 32-bit builds anymore. It still could, but only as long as is_tdp_mmu_root was inlined. Your patch caused the final "return false" to only appear after a few WARN_ON checks that obviously can't be removed, and therefore tipped the balance towards not inlining it! Paolo