lkml.org 
[lkml]   [2021]   [Feb]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH v2 10/28] KVM: x86/mmu: Fix TDP MMU zap collapsible SPTEs
    From
    Date
    On 02/02/21 19:57, Ben Gardon wrote:
    > There is a bug in the TDP MMU function to zap SPTEs which could be
    > replaced with a larger mapping which prevents the function from doing
    > anything. Fix this by correctly zapping the last level SPTEs.
    >
    > Fixes: 14881998566d ("kvm: x86/mmu: Support disabling dirty logging for the tdp MMU")
    > Signed-off-by: Ben Gardon <bgardon@google.com>
    > ---
    > arch/x86/kvm/mmu/tdp_mmu.c | 6 +++---
    > 1 file changed, 3 insertions(+), 3 deletions(-)
    >
    > diff --git a/arch/x86/kvm/mmu/tdp_mmu.c b/arch/x86/kvm/mmu/tdp_mmu.c
    > index c3075fb568eb..e3066d08c1dc 100644
    > --- a/arch/x86/kvm/mmu/tdp_mmu.c
    > +++ b/arch/x86/kvm/mmu/tdp_mmu.c
    > @@ -1098,8 +1098,8 @@ bool kvm_tdp_mmu_slot_set_dirty(struct kvm *kvm, struct kvm_memory_slot *slot)
    > }
    >
    > /*
    > - * Clear non-leaf entries (and free associated page tables) which could
    > - * be replaced by large mappings, for GFNs within the slot.
    > + * Clear leaf entries which could be replaced by large mappings, for
    > + * GFNs within the slot.
    > */
    > static void zap_collapsible_spte_range(struct kvm *kvm,
    > struct kvm_mmu_page *root,
    > @@ -1111,7 +1111,7 @@ static void zap_collapsible_spte_range(struct kvm *kvm,
    >
    > tdp_root_for_each_pte(iter, root, start, end) {
    > if (!is_shadow_present_pte(iter.old_spte) ||
    > - is_last_spte(iter.old_spte, iter.level))
    > + !is_last_spte(iter.old_spte, iter.level))
    > continue;
    >
    > pfn = spte_to_pfn(iter.old_spte);
    >

    Queued for 5.11-rc, thanks.

    Paolo

    \
     
     \ /
      Last update: 2021-02-03 10:46    [W:4.117 / U:0.068 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site