On Tue, Mar 21, 2023, Sean Christopherson wrote: > It won't. MMU_WARN_ON() is dead code without manual modification to define MMU_DEBUG. > Part of the reason I used MMU_WARN_ON() was to remind myself to send a patch/series > to overhaul MMU_WARN_ON[*]. My thought/hope is that a Kconfig will allow developers > and testers to run with a pile of assertions and sanity checks without impacting > the runtime overhead for production builds. > > [*] https://lore.kernel.org/all/Yz4Qi7cn7TWTWQjj@xxxxxxxxxx/ Ugh, I'm definitely sending that patch, MMU_DEBUG has bitrotted and broken the build yet again. arch/x86/kvm/mmu/mmu.c: In function ‘kvm_mmu_free_shadow_page’: arch/x86/kvm/mmu/mmu.c:1738:15: error: implicit declaration of function ‘is_empty_shadow_page’; did you mean ‘to_shadow_page’? [-Werror=implicit-function-declaration] 1738 | MMU_WARN_ON(!is_empty_shadow_page(sp->spt)); | ^~~~~~~~~~~~~~~~~~~~ include/asm-generic/bug.h:110:25: note: in definition of macro ‘WARN_ON_ONCE’ 110 | int __ret_warn_on = !!(condition); \ | ^~~~~~~~~ arch/x86/kvm/mmu/mmu.c:1738:2: note: in expansion of macro ‘MMU_WARN_ON’ 1738 | MMU_WARN_ON(!is_empty_shadow_page(sp->spt)); | ^~~~~~~~~~~