[1/2] KVM: x86/mmu: Remove spurious clearing of dirty bit from TDP MMU SPTE
diff mbox series

Message ID 20210331004942.2444916-2-seanjc@google.com
State Accepted
Commit 6d9aafb96d5f665d038229e7561388c38430b3a8
Headers show
  • KVM: x86/mmu: TDP MMU fixes/cleanups
Related show

Commit Message

Sean Christopherson March 31, 2021, 12:49 a.m. UTC
Don't clear the dirty bit when aging a TDP MMU SPTE (in response to a MMU
notifier event).  Prematurely clearing the dirty bit could cause spurious
PML updates if aging a page happened to coincide with dirty logging.

Note, tdp_mmu_set_spte_no_acc_track() flows into __handle_changed_spte(),
so the host PFN will be marked dirty, i.e. there is no potential for data

Fixes: a6a0b05da9f3 ("kvm: x86/mmu: Support dirty logging for the TDP MMU")
Cc: Ben Gardon <bgardon@google.com>
Signed-off-by: Sean Christopherson <seanjc@google.com>
 arch/x86/kvm/mmu/tdp_mmu.c | 1 -
 1 file changed, 1 deletion(-)

diff mbox series

diff --git a/arch/x86/kvm/mmu/tdp_mmu.c b/arch/x86/kvm/mmu/tdp_mmu.c
index f0c99fa04ef2..724088bea4b0 100644
--- a/arch/x86/kvm/mmu/tdp_mmu.c
+++ b/arch/x86/kvm/mmu/tdp_mmu.c
@@ -978,7 +978,6 @@  static int age_gfn_range(struct kvm *kvm, struct kvm_memory_slot *slot,
 			new_spte = mark_spte_for_access_track(new_spte);
-		new_spte &= ~shadow_dirty_mask;
 		tdp_mmu_set_spte_no_acc_track(kvm, &iter, new_spte);
 		young = 1;