summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvi Kivity <avi@qumranet.com>2009-08-06 14:39:47 -0300
committerGreg Kroah-Hartman <gregkh@suse.de>2009-09-08 20:17:06 -0700
commit5bd5d8e64fbb187d1ed4b320715a4580bd878997 (patch)
treee30269c89cece4cd8e26dff2ed3b8b4500f60dd4
parentc832f513b1ebe93e0a2c71a98f319da4ce560f7f (diff)
KVM: MMU: Flush tlbs after clearing write permission when accessing dirty log
(cherry picked from commit 171d595d3b3254b9a952af8d1f6965d2e85dcbaa) Otherwise, the cpu may allow writes to the tracked pages, and we lose some display bits or fail to migrate correctly. Signed-off-by: Avi Kivity <avi@qumranet.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--arch/x86/kvm/mmu.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
index 32aa0b814842..4c944941b0aa 100644
--- a/arch/x86/kvm/mmu.c
+++ b/arch/x86/kvm/mmu.c
@@ -2069,6 +2069,7 @@ void kvm_mmu_slot_remove_write_access(struct kvm *kvm, int slot)
if (pt[i] & PT_WRITABLE_MASK)
pt[i] &= ~PT_WRITABLE_MASK;
}
+ kvm_flush_remote_tlbs(kvm);
spin_unlock(&kvm->mmu_lock);
}