KVM: selftests: Don't probe KVM_CAP_HYPERV_ENLIGHTENED_VMCS when nested VMX is unsupp...
authorVitaly Kuznetsov <vkuznets@redhat.com>
Wed, 10 Jun 2020 13:58:47 +0000 (15:58 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 11 Jun 2020 16:35:18 +0000 (12:35 -0400)
KVM_CAP_HYPERV_ENLIGHTENED_VMCS will be reported as supported even when
nested VMX is not, fix evmcs_test/hyperv_cpuid tests to check for both.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Message-Id: <20200610135847.754289-3-vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
tools/testing/selftests/kvm/x86_64/evmcs_test.c
tools/testing/selftests/kvm/x86_64/hyperv_cpuid.c

index e6e62e5..7579281 100644 (file)
@@ -94,9 +94,10 @@ int main(int argc, char *argv[])
 
        vcpu_set_cpuid(vm, VCPU_ID, kvm_get_supported_cpuid());
 
-       if (!kvm_check_cap(KVM_CAP_NESTED_STATE) ||
+       if (!nested_vmx_supported() ||
+           !kvm_check_cap(KVM_CAP_NESTED_STATE) ||
            !kvm_check_cap(KVM_CAP_HYPERV_ENLIGHTENED_VMCS)) {
-               print_skip("capabilities not available");
+               print_skip("Enlightened VMCS is unsupported");
                exit(KSFT_SKIP);
        }
 
index 4a7967c..745b708 100644 (file)
@@ -170,7 +170,8 @@ int main(int argc, char *argv[])
                case 1:
                        break;
                case 2:
-                       if (!kvm_check_cap(KVM_CAP_HYPERV_ENLIGHTENED_VMCS)) {
+                       if (!nested_vmx_supported() ||
+                           !kvm_check_cap(KVM_CAP_HYPERV_ENLIGHTENED_VMCS)) {
                                print_skip("Enlightened VMCS is unsupported");
                                continue;
                        }