aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/kvm/mmu.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
index 79af88ab2f1d..6941fa74eb35 100644
--- a/arch/x86/kvm/mmu.c
+++ b/arch/x86/kvm/mmu.c
@@ -2108,7 +2108,13 @@ static int kvm_mmu_prepare_zap_page(struct kvm *kvm, struct kvm_mmu_page *sp,
2108 kvm_mod_used_mmu_pages(kvm, -1); 2108 kvm_mod_used_mmu_pages(kvm, -1);
2109 } else { 2109 } else {
2110 list_move(&sp->link, &kvm->arch.active_mmu_pages); 2110 list_move(&sp->link, &kvm->arch.active_mmu_pages);
2111 kvm_reload_remote_mmus(kvm); 2111
2112 /*
2113 * The obsolete pages can not be used on any vcpus.
2114 * See the comments in kvm_mmu_invalidate_zap_all_pages().
2115 */
2116 if (!sp->role.invalid && !is_obsolete_sp(kvm, sp))
2117 kvm_reload_remote_mmus(kvm);
2112 } 2118 }
2113 2119
2114 sp->role.invalid = 1; 2120 sp->role.invalid = 1;