diff options
author | Avi Kivity <avi@qumranet.com> | 2008-08-27 09:40:51 -0400 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2008-10-15 04:15:24 -0400 |
commit | 171d595d3b3254b9a952af8d1f6965d2e85dcbaa (patch) | |
tree | 87e4197b72ff28e04adb72a157c483d6e571a0be /arch/x86/kvm | |
parent | 2245a28fe2e6fdb1bdabc4dcde1ea3a5c37e2a9e (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.c | 1 |
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 | ||