Forráskód Böngészése

KVM: Fix dirty page log bitmap size/access calculation

Since dirty_bitmap is an unsigned long array, the alignment and size need
to take that into account.

Signed-off-by: Uri Lublin <uril@qumranet.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Uri Lublin 18 éve
szülő
commit
cd1a4a982a
1 módosított fájl, 2 hozzáadás és 2 törlés
  1. 2 2
      drivers/kvm/kvm_main.c

+ 2 - 2
drivers/kvm/kvm_main.c

@@ -792,9 +792,9 @@ static int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm,
 	if (!memslot->dirty_bitmap)
 		goto out;
 
-	n = ALIGN(memslot->npages, 8) / 8;
+	n = ALIGN(memslot->npages, BITS_PER_LONG) / 8;
 
-	for (i = 0; !any && i < n; ++i)
+	for (i = 0; !any && i < n/sizeof(long); ++i)
 		any = memslot->dirty_bitmap[i];
 
 	r = -EFAULT;