|
@@ -2108,7 +2108,13 @@ static int kvm_mmu_prepare_zap_page(struct kvm *kvm, struct kvm_mmu_page *sp,
|
|
|
kvm_mod_used_mmu_pages(kvm, -1);
|
|
|
} else {
|
|
|
list_move(&sp->link, &kvm->arch.active_mmu_pages);
|
|
|
- kvm_reload_remote_mmus(kvm);
|
|
|
+
|
|
|
+ /*
|
|
|
+ * The obsolete pages can not be used on any vcpus.
|
|
|
+ * See the comments in kvm_mmu_invalidate_zap_all_pages().
|
|
|
+ */
|
|
|
+ if (!sp->role.invalid && !is_obsolete_sp(kvm, sp))
|
|
|
+ kvm_reload_remote_mmus(kvm);
|
|
|
}
|
|
|
|
|
|
sp->role.invalid = 1;
|