KVM: nVMX: WARN on any attempt to allocate shadow VMCS for vmcs02
authorSean Christopherson <seanjc@google.com>
Tue, 25 Jan 2022 22:05:27 +0000 (22:05 +0000)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 26 Jan 2022 17:15:04 +0000 (12:15 -0500)
commitd6e656cd266cdcc95abd372c7faef05bee271d1a
treebaa1358ffb64afbc2e1904f3e96886b861041166
parent4cf3d3ebe8794c449af3e0e8c1d790c97e461d20
KVM: nVMX: WARN on any attempt to allocate shadow VMCS for vmcs02

WARN if KVM attempts to allocate a shadow VMCS for vmcs02.  KVM emulates
VMCS shadowing but doesn't virtualize it, i.e. KVM should never allocate
a "real" shadow VMCS for L2.

The previous code WARNed but continued anyway with the allocation,
presumably in an attempt to avoid NULL pointer dereference.
However, alloc_vmcs (and hence alloc_shadow_vmcs) can fail, and
indeed the sole caller does:

if (enable_shadow_vmcs && !alloc_shadow_vmcs(vcpu))
goto out_shadow_vmcs;

which makes it not a useful attempt.

Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20220125220527.2093146-1-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/vmx/nested.c