linux/arch/x86/kvm/mmu
Sean Christopherson 3354ef5a59 KVM: x86/mmu: Check for present SPTE when clearing dirty bit in TDP MMU
Explicitly check for present SPTEs when clearing dirty bits in the TDP
MMU.  This isn't strictly required for correctness, as setting the dirty
bit in a defunct SPTE will not change the SPTE from !PRESENT to PRESENT.
However, the guarded MMU_WARN_ON() in spte_ad_need_write_protect() would
complain if anyone actually turned on KVM's MMU debugging.

Fixes: a6a0b05da9 ("kvm: x86/mmu: Support dirty logging for the TDP MMU")
Cc: Ben Gardon <bgardon@google.com>
Signed-off-by: Sean Christopherson <seanjc@google.com>
Reviewed-by: Ben Gardon <bgardon@google.com>
Message-Id: <20220226001546.360188-3-seanjc@google.com>
Cc: stable@vger.kernel.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2022-03-08 09:31:17 -05:00
..
mmu_internal.h KVM: x86/mmu: Propagate memslot const qualifier 2021-12-08 04:24:43 -05:00
mmu.c Merge branch 'kvm-bugfixes' into HEAD 2022-03-04 18:39:29 -05:00
mmutrace.h KVM: x86/mmu: Add tracepoint for splitting huge pages 2022-02-10 13:50:43 -05:00
page_track.c KVM: use __vcalloc for very large allocations 2022-03-08 09:30:57 -05:00
paging_tmpl.h KVM: x86: use struct kvm_mmu_root_info for mmu->root 2022-02-25 08:20:16 -05:00
paging.h KVM: x86/mmu: Do not apply HPA (memory encryption) mask to GPAs 2021-07-14 12:17:56 -04:00
spte.c KVM: x86/mmu: Split huge pages mapped by the TDP MMU when dirty logging is enabled 2022-02-10 13:50:42 -05:00
spte.h KVM: x86/mmu: Split huge pages mapped by the TDP MMU when dirty logging is enabled 2022-02-10 13:50:42 -05:00
tdp_iter.c KVM: x86/mmu: Refactor TDP MMU iterators to take kvm_mmu_page root 2022-02-10 13:50:40 -05:00
tdp_iter.h KVM: x86/mmu: Refactor TDP MMU iterators to take kvm_mmu_page root 2022-02-10 13:50:40 -05:00
tdp_mmu.c KVM: x86/mmu: Check for present SPTE when clearing dirty bit in TDP MMU 2022-03-08 09:31:17 -05:00
tdp_mmu.h KVM: x86: use struct kvm_mmu_root_info for mmu->root 2022-02-25 08:20:16 -05:00