mirror of https://gitee.com/openkylin/linux.git
KVM: MMU: fix forgot flush tlbs on sync_page path
We should flush all tlbs after drop spte on sync_page path since Quote from Avi: | sync_page | drop_spte | kvm_mmu_notifier_invalidate_page | kvm_unmap_rmapp | spte doesn't exist -> no flush | page is freed | guest can write into freed page? KVM-Stable-Tag. Signed-off-by: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
This commit is contained in:
parent
27923eb19c
commit
30bfb3c425
|
@ -786,6 +786,7 @@ static int FNAME(sync_page)(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp,
|
||||||
else
|
else
|
||||||
nonpresent = shadow_notrap_nonpresent_pte;
|
nonpresent = shadow_notrap_nonpresent_pte;
|
||||||
drop_spte(vcpu->kvm, &sp->spt[i], nonpresent);
|
drop_spte(vcpu->kvm, &sp->spt[i], nonpresent);
|
||||||
|
kvm_flush_remote_tlbs(vcpu->kvm);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue