• L
    KVM: X86: Mark CR3 dirty when vcpu->arch.cr3 is changed · 3883bc9d
    Lai Jiangshan 提交于
    When vcpu->arch.cr3 is changed, it should be marked dirty unless it
    is being updated to the value of the architecture guest CR3 (i.e.
    VMX.GUEST_CR3 or vmcb->save.cr3 when tdp is enabled).
    
    This patch has no functionality changed because
    kvm_register_mark_dirty(vcpu, VCPU_EXREG_CR3) is superset of
    kvm_register_mark_available(vcpu, VCPU_EXREG_CR3) with additional
    change to vcpu->arch.regs_dirty, but no code uses regs_dirty for
    VCPU_EXREG_CR3.  (vmx_load_mmu_pgd() uses vcpu->arch.regs_avail instead
    to test if VCPU_EXREG_CR3 dirty which means current code (ab)uses
    regs_avail for VCPU_EXREG_CR3 dirty information.)
    Signed-off-by: NLai Jiangshan <laijs@linux.alibaba.com>
    Message-Id: <20211108124407.12187-11-jiangshanlai@gmail.com>
    Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
    3883bc9d
x86.c 331.6 KB