If KVM attempts to translate what it thinks is an L2 GPA with a non-nested
MMU, simply WARN and return the GPA, i.e. trust the MMU more than the
caller, as there is zero reason to potentially panic the host kernel just
because KVM misused an API.
Signed-off-by: Sean Christopherson <seanjc@google.com>
Reviewed-by: Kai Huang <kai.huang@intel.com>
Message-ID: <
20260618185746.
2023283-1-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
struct vcpu_svm *svm = to_svm(vcpu);
struct kvm_mmu *mmu = vcpu->arch.mmu;
- BUG_ON(!mmu_is_nested(vcpu));
+ if (WARN_ON_ONCE(!mmu_is_nested(vcpu)))
+ return gpa;
/* Non-GMET walks are always user-walks */
if (!(svm->nested.ctl.misc_ctl & SVM_MISC_ENABLE_GMET))
{
struct kvm_mmu *mmu = vcpu->arch.mmu;
- BUG_ON(!mmu_is_nested(vcpu));
+ if (WARN_ON_ONCE(!mmu_is_nested(vcpu)))
+ return gpa;
/*
* MBEC differentiates based on the effective U/S bit of