• Sean Christopherson's avatar
    KVM: VMX: Remove direct write to vcpu->arch.cr0 during vCPU RESET/INIT · 4f0dcb54
    Sean Christopherson authored
    
    
    Remove a bogus write to vcpu->arch.cr0 that immediately precedes
    vmx_set_cr0() during vCPU RESET/INIT.  For RESET, this is a nop since
    the "old" CR0 value is meaningless.  But for INIT, if the vCPU is coming
    from paging enabled mode, crushing vcpu->arch.cr0 will cause the various
    is_paging() checks in vmx_set_cr0() to get false negatives.
    
    For the exit_lmode() case, the false negative is benign as vmx_set_efer()
    is called immediately after vmx_set_cr0().
    
    For EPT without unrestricted guest, the false negative will cause KVM to
    unnecessarily run with CR3 load/store exiting.  But again, this is
    benign, albeit sub-optimal.
    Reviewed-by: default avatarReiji Watanabe <reijiw@google.com>
    Signed-off-by: default avatarSean Christopherson <seanjc@google.com>
    Message-Id: <20210713163324.627647-23-seanjc@google.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    4f0dcb54
vmx.c 223 KB