• Sean Christopherson's avatar
    KVM: x86: Remove spurious clearing of async #PF MSR · 208050da
    Sean Christopherson authored
    Remove a bogus clearing of apf.msr_val from kvm_arch_vcpu_destroy().
    
    apf.msr_val is only set to a non-zero value by kvm_pv_enable_async_pf(),
    which is only reachable by kvm_set_msr_common(), i.e. by writing
    MSR_KVM_ASYNC_PF_EN.  KVM does not autonomously write said MSR, i.e.
    can only be written via KVM_SET_MSRS or KVM_RUN.  Since KVM_SET_MSRS and
    KVM_RUN are vcpu ioctls, they require a valid vcpu file descriptor.
    kvm_arch_vcpu_destroy() is only called if KVM_CREATE_VCPU fails, and KVM
    declares KVM_CREATE_VCPU successful once the vcpu fd is installed and
    thus visible to userspace.  Ergo, apf.msr_val cannot be non-zero when
    kvm_arch_vcpu_destroy() is called.
    
    Fixes: 344d9588 ("KVM: Add PV MSR to enable asynchronous page faults delivery.")
    Signed-off-by: default avatarSean Christopherson <sean.j.christopherson@intel.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    208050da
x86.c 272 KB