On Sat, May 18, 2024 at 2:04 AM Sean Christopherson <seanjc@xxxxxxxxxx> wrote: > Disable KVM's "prove #VE" support by default, as it provides no functional > value, and even its sanity checking benefits are relatively limited. I.e. > it should be fully opt-in even on debug kernels, especially since EPT > Violation #VE suppression appears to be buggy on some CPUs. More #VE trapping than #VE suppression. I wouldn't go so far as making it *depend* on DEBUG_KERNEL. EXPERT plus the scary help message is good enough. What about this: diff --git a/arch/x86/kvm/Kconfig b/arch/x86/kvm/Kconfig index b6831e17ec31..2864608c7016 100644 --- a/arch/x86/kvm/Kconfig +++ b/arch/x86/kvm/Kconfig @@ -97,14 +97,15 @@ config KVM_INTEL config KVM_INTEL_PROVE_VE bool "Check that guests do not receive #VE exceptions" - depends on KVM_INTEL && DEBUG_KERNEL && EXPERT + depends on KVM_INTEL && EXPERT help Checks that KVM's page table management code will not incorrectly let guests receive a virtualization exception. Virtualization exceptions will be trapped by the hypervisor rather than injected in the guest. - This should never be enabled in a production environment. + Note that #VE trapping appears to be buggy on some CPUs. + This should never be enabled in a production environment! If unsure, say N. Paolo > Opportunistically add a line in the help text to make it abundantly clear > that KVM_INTEL_PROVE_VE should never be enabled in a production > environment. > > Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> > Signed-off-by: Sean Christopherson <seanjc@xxxxxxxxxx> > --- > arch/x86/kvm/Kconfig | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/arch/x86/kvm/Kconfig b/arch/x86/kvm/Kconfig > index 2a7f69abcac3..3468efc4be55 100644 > --- a/arch/x86/kvm/Kconfig > +++ b/arch/x86/kvm/Kconfig > @@ -97,15 +97,15 @@ config KVM_INTEL > > config KVM_INTEL_PROVE_VE > bool "Check that guests do not receive #VE exceptions" > - default KVM_PROVE_MMU || DEBUG_KERNEL > - depends on KVM_INTEL > + depends on KVM_INTEL && DEBUG_KERNEL && EXPERT > help > - > Checks that KVM's page table management code will not incorrectly > let guests receive a virtualization exception. Virtualization > exceptions will be trapped by the hypervisor rather than injected > in the guest. > > + This should never be enabled in a production environment. > + > If unsure, say N. > > config X86_SGX_KVM > -- > 2.45.0.215.g3402c0e53f-goog >