KVM: use kvm_memslots whenever possible
authorPaolo Bonzini <pbonzini@redhat.com>
Sun, 17 May 2015 14:20:07 +0000 (16:20 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 26 May 2015 10:40:08 +0000 (12:40 +0200)
kvm_memslots provides lockdep checking.  Use it consistently instead of
explicit dereferencing of kvm->memslots.

Reviewed-by: Radim Krcmar <rkrcmar@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/arm/kvm/mmu.c
arch/mips/kvm/mips.c
arch/powerpc/kvm/book3s_64_mmu_hv.c
arch/powerpc/kvm/book3s_hv.c
arch/powerpc/kvm/book3s_pr.c
arch/s390/kvm/kvm-s390.c
arch/x86/kvm/x86.c
virt/kvm/kvm_main.c

index 1d5accb..6f0f8f3 100644 (file)
@@ -1155,7 +1155,8 @@ static void stage2_wp_range(struct kvm *kvm, phys_addr_t addr, phys_addr_t end)
  */
 void kvm_mmu_wp_memory_region(struct kvm *kvm, int slot)
 {
-       struct kvm_memory_slot *memslot = id_to_memslot(kvm->memslots, slot);
+       struct kvm_memslots *slots = kvm_memslots(kvm);
+       struct kvm_memory_slot *memslot = id_to_memslot(slots, slot);
        phys_addr_t start = memslot->base_gfn << PAGE_SHIFT;
        phys_addr_t end = (memslot->base_gfn + memslot->npages) << PAGE_SHIFT;
 
index a8e660a..bc5ddd9 100644 (file)
@@ -968,6 +968,7 @@ out:
 /* Get (and clear) the dirty memory log for a memory slot. */
 int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm, struct kvm_dirty_log *log)
 {
+       struct kvm_memslots *slots;
        struct kvm_memory_slot *memslot;
        unsigned long ga, ga_end;
        int is_dirty = 0;
@@ -982,7 +983,8 @@ int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm, struct kvm_dirty_log *log)
 
        /* If nothing is dirty, don't bother messing with page tables. */
        if (is_dirty) {
-               memslot = id_to_memslot(kvm->memslots, log->slot);
+               slots = kvm_memslots(kvm);
+               memslot = id_to_memslot(slots, log->slot);
 
                ga = memslot->base_gfn << PAGE_SHIFT;
                ga_end = ga + (memslot->npages << PAGE_SHIFT);
index 1a4acf8..dab68b7 100644 (file)
@@ -650,7 +650,7 @@ static void kvmppc_rmap_reset(struct kvm *kvm)
        int srcu_idx;
 
        srcu_idx = srcu_read_lock(&kvm->srcu);
-       slots = kvm->memslots;
+       slots = kvm_memslots(kvm);
        kvm_for_each_memslot(memslot, slots) {
                /*
                 * This assumes it is acceptable to lose reference and
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge