KVM: selftests: Don't use a static local in vcpu_get_supported_hv_cpuid()
authorSean Christopherson <seanjc@google.com>
Tue, 14 Jun 2022 20:06:44 +0000 (20:06 +0000)
committerSean Christopherson <seanjc@google.com>
Thu, 14 Jul 2022 01:14:15 +0000 (18:14 -0700)
Don't use a static variable for the Hyper-V supported CPUID array, the
helper unconditionally reallocates the array on every invocation (and all
callers free the array immediately after use).  The array is intentionally
recreated and refilled because the set of supported CPUID features is
dependent on vCPU state, e.g. whether or not eVMCS has been enabled.

Signed-off-by: Sean Christopherson <seanjc@google.com>
Link: https://lore.kernel.org/r/20220614200707.3315957-20-seanjc@google.com
tools/testing/selftests/kvm/lib/x86_64/processor.c

index 4cbcc33..09e5151 100644 (file)
@@ -1305,9 +1305,7 @@ void vcpu_set_hv_cpuid(struct kvm_vcpu *vcpu)
 
 struct kvm_cpuid2 *vcpu_get_supported_hv_cpuid(struct kvm_vcpu *vcpu)
 {
-       static struct kvm_cpuid2 *cpuid;
-
-       cpuid = allocate_kvm_cpuid2(MAX_NR_CPUID_ENTRIES);
+       struct kvm_cpuid2 *cpuid = allocate_kvm_cpuid2(MAX_NR_CPUID_ENTRIES);
 
        vcpu_ioctl(vcpu, KVM_GET_SUPPORTED_HV_CPUID, cpuid);