KVM: x86: hyper-v: don't crash on KVM_GET_SUPPORTED_HV_CPUID when kvm_intel.nested...
authorVitaly Kuznetsov <vkuznets@redhat.com>
Tue, 27 Aug 2019 16:04:02 +0000 (18:04 +0200)
committerRadim Krčmář <rkrcmar@redhat.com>
Tue, 27 Aug 2019 18:59:04 +0000 (20:59 +0200)
commitea1529873ab18c204688cf31746df851c098cbea
treec9663fafc41633e17d9afb91b84cf423a7cf231e
parentc91ff72142b0500a3835b18a3ed9c8dd7490e5c6
KVM: x86: hyper-v: don't crash on KVM_GET_SUPPORTED_HV_CPUID when kvm_intel.nested is disabled

If kvm_intel is loaded with nested=0 parameter an attempt to perform
KVM_GET_SUPPORTED_HV_CPUID results in OOPS as nested_get_evmcs_version hook
in kvm_x86_ops is NULL (we assign it in nested_vmx_hardware_setup() and
this only happens in case nested is enabled).

Check that kvm_x86_ops->nested_get_evmcs_version is not NULL before
calling it. With this, we can remove the stub from svm as it is no
longer needed.

Cc: <stable@vger.kernel.org>
Fixes: e2e871ab2f02 ("x86/kvm/hyper-v: Introduce nested_get_evmcs_version() helper")
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Reviewed-by: Jim Mattson <jmattson@google.com>
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
arch/x86/kvm/hyperv.c
arch/x86/kvm/svm.c
arch/x86/kvm/vmx/vmx.c