• Chenyi Qiang's avatar
    KVM: X86: Fix initialization of MSR lists · 7a5ee6ed
    Chenyi Qiang authored
    The three MSR lists(msrs_to_save[], emulated_msrs[] and
    msr_based_features[]) are global arrays of kvm.ko, which are
    adjusted (copy supported MSRs forward to override the unsupported MSRs)
    when insmod kvm-{intel,amd}.ko, but it doesn't reset these three arrays
    to their initial value when rmmod kvm-{intel,amd}.ko. Thus, at the next
    installation, kvm-{intel,amd}.ko will do operations on the modified
    arrays with some MSRs lost and some MSRs duplicated.
    
    So define three constant arrays to hold the initial MSR lists and
    initialize msrs_to_save[], emulated_msrs[] and msr_based_features[]
    based on the constant arrays.
    
    Cc: stable@vger.kernel.org
    Reviewed-by: default avatarXiaoyao Li <xiaoyao.li@intel.com>
    Signed-off-by: default avatarChenyi Qiang <chenyi.qiang@intel.com>
    [Remove now useless conditionals. - Paolo]
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    7a5ee6ed
x86.c 265 KB