• Vitaly Kuznetsov's avatar
    KVM: x86: disconnect kvm_check_cpuid() from vcpu->arch.cpuid_entries · f69858fc
    Vitaly Kuznetsov authored
    As a preparatory step to allocating vcpu->arch.cpuid_entries dynamically
    make kvm_check_cpuid() check work with an arbitrary 'struct kvm_cpuid_entry2'
    array.
    
    Currently, when kvm_check_cpuid() fails we reset vcpu->arch.cpuid_nent to
    0 and this is kind of weird, i.e. one would expect CPUIDs to remain
    unchanged when KVM_SET_CPUID[2] call fails.
    
    No functional change intended. It would've been possible to move the updated
    kvm_check_cpuid() in kvm_vcpu_ioctl_set_cpuid2() and check the supplied
    input before we start updating vcpu->arch.cpuid_entries/nent but we
    can't do the same in kvm_vcpu_ioctl_set_cpuid() as we'll have to copy
    'struct kvm_cpuid_entry' entries first. The change will be made when
    vcpu->arch.cpuid_entries[] array becomes allocated dynamically.
    Suggested-by: default avatarSean Christopherson <sean.j.christopherson@intel.com>
    Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
    Message-Id: <20201001130541.1398392-2-vkuznets@redhat.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    f69858fc
cpuid.c 29.2 KB