diff options
author | Marcelo Tosatti <mtosatti@redhat.com> | 2009-05-12 21:55:43 (GMT) |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2009-06-10 08:48:54 (GMT) |
commit | 7c8a83b75a38a807d37f5a4398eca2a42c8cf513 (patch) | |
tree | 6d06eb065c6658c5058354cf7289428b495c909f /arch/x86/kvm/mmu.c | |
parent | 310b5d306c1aee7ebe32f702c0e33e7988d50646 (diff) | |
download | linux-7c8a83b75a38a807d37f5a4398eca2a42c8cf513.tar.xz |
KVM: MMU: protect kvm_mmu_change_mmu_pages with mmu_lock
kvm_handle_hva, called by MMU notifiers, manipulates mmu data only with
the protection of mmu_lock.
Update kvm_mmu_change_mmu_pages callers to take mmu_lock, thus protecting
against kvm_handle_hva.
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/x86/kvm/mmu.c')
-rw-r--r-- | arch/x86/kvm/mmu.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c index bc614f9..3ce60ad 100644 --- a/arch/x86/kvm/mmu.c +++ b/arch/x86/kvm/mmu.c @@ -2723,7 +2723,6 @@ void kvm_mmu_slot_remove_write_access(struct kvm *kvm, int slot) { struct kvm_mmu_page *sp; - spin_lock(&kvm->mmu_lock); list_for_each_entry(sp, &kvm->arch.active_mmu_pages, link) { int i; u64 *pt; @@ -2738,7 +2737,6 @@ void kvm_mmu_slot_remove_write_access(struct kvm *kvm, int slot) pt[i] &= ~PT_WRITABLE_MASK; } kvm_flush_remote_tlbs(kvm); - spin_unlock(&kvm->mmu_lock); } void kvm_mmu_zap_all(struct kvm *kvm) |