]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
KVM: mips: use id_to_memslot correctly
authorPaolo Bonzini <pbonzini@redhat.com>
Mon, 18 May 2015 06:35:43 +0000 (08:35 +0200)
committerLuis Henriques <luis.henriques@canonical.com>
Thu, 9 Jul 2015 13:36:06 +0000 (14:36 +0100)
commit 69a1220060c1523fd0515216eaa29e22f133b894 upstream.

The argument to KVM_GET_DIRTY_LOG is a memslot id; it may not match the
position in the memslots array, which is sorted by gfn.

Reviewed-by: James Hogan <james.hogan@imgtec.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
[ luis: backported to 3.16:
  - file rename: arch/mips/kvm/mips.c -> arch/mips/kvm/kvm_mips.c ]
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
arch/mips/kvm/kvm_mips.c

index 59298b97ac39b87177fffe5b1f55a16cec2e965e..cc721a3c89962a78bbe3d76aa60f470037892da0 100644 (file)
@@ -813,7 +813,7 @@ 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 = &kvm->memslots->memslots[log->slot];
+               memslot = id_to_memslot(kvm->memslots, log->slot);
 
                ga = memslot->base_gfn << PAGE_SHIFT;
                ga_end = ga + (memslot->npages << PAGE_SHIFT);