aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm
diff options
context:
space:
mode:
authorAvi Kivity <avi@qumranet.com>2008-08-27 09:40:51 -0400
committerAvi Kivity <avi@qumranet.com>2008-10-15 04:15:24 -0400
commit171d595d3b3254b9a952af8d1f6965d2e85dcbaa (patch)
tree87e4197b72ff28e04adb72a157c483d6e571a0be /arch/x86/kvm
parent2245a28fe2e6fdb1bdabc4dcde1ea3a5c37e2a9e (diff)
KVM: MMU: Flush tlbs after clearing write permission when accessing dirty log
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>
Diffstat (limited to 'arch/x86/kvm')
-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 5052acdc0a77..853a2889b202 100644
--- a/arch/x86/kvm/mmu.c
+++ b/arch/x86/kvm/mmu.c
@@ -2111,6 +2111,7 @@ void kvm_mmu_slot_remove_write_access(struct kvm *kvm, int slot)
2111 if (pt[i] & PT_WRITABLE_MASK) 2111 if (pt[i] & PT_WRITABLE_MASK)
2112 pt[i] &= ~PT_WRITABLE_MASK; 2112 pt[i] &= ~PT_WRITABLE_MASK;
2113 } 2113 }
2114 kvm_flush_remote_tlbs(kvm);
2114 spin_unlock(&kvm->mmu_lock); 2115 spin_unlock(&kvm->mmu_lock);
2115} 2116}
2116 2117