diff options
author | Sean Christopherson <sean.j.christopherson@intel.com> | 2020-01-08 12:24:45 -0800 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2020-01-27 20:00:07 +0100 |
commit | d32ec81bab670e599e645e1d1d5231d62de7d0d6 (patch) | |
tree | a621e66d3e27177ebb2d039a7e7b6740ab37cb93 /arch/x86 | |
parent | 09c4453ee8e63a710774ae10da7909289aa6a58e (diff) | |
download | linux-stable-d32ec81bab670e599e645e1d1d5231d62de7d0d6.tar.gz linux-stable-d32ec81bab670e599e645e1d1d5231d62de7d0d6.tar.bz2 linux-stable-d32ec81bab670e599e645e1d1d5231d62de7d0d6.zip |
KVM: x86/mmu: Zap any compound page when collapsing sptes
Zap any compound page, e.g. THP or HugeTLB pages, when zapping sptes
that can potentially be converted to huge sptes after disabling dirty
logging on the associated memslot. Note, this approach could result in
false positives, e.g. if a random compound page is mapped into the
guest, but mapping non-huge compound pages into the guest is far from
the norm, and toggling dirty logging is not a frequent operation.
Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/kvm/mmu/mmu.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c index 6be0239dcfbf..9090842ccd10 100644 --- a/arch/x86/kvm/mmu/mmu.c +++ b/arch/x86/kvm/mmu/mmu.c @@ -5951,7 +5951,7 @@ restart: */ if (sp->role.direct && !kvm_is_reserved_pfn(pfn) && !kvm_is_zone_device_pfn(pfn) && - kvm_is_transparent_hugepage(pfn)) { + PageCompound(pfn_to_page(pfn))) { pte_list_remove(rmap_head, sptep); if (kvm_available_flush_tlb_with_range()) |