diff options
Diffstat (limited to 'arch/x86/kvm/x86.c')
-rw-r--r-- | arch/x86/kvm/x86.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 9ad3d064c781..45aa90f8cc57 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c | |||
@@ -2612,8 +2612,9 @@ static int kvm_vm_ioctl_reinject(struct kvm *kvm, | |||
2612 | int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm, | 2612 | int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm, |
2613 | struct kvm_dirty_log *log) | 2613 | struct kvm_dirty_log *log) |
2614 | { | 2614 | { |
2615 | int r, n, i; | 2615 | int r, i; |
2616 | struct kvm_memory_slot *memslot; | 2616 | struct kvm_memory_slot *memslot; |
2617 | unsigned long n; | ||
2617 | unsigned long is_dirty = 0; | 2618 | unsigned long is_dirty = 0; |
2618 | unsigned long *dirty_bitmap = NULL; | 2619 | unsigned long *dirty_bitmap = NULL; |
2619 | 2620 | ||
@@ -2628,7 +2629,7 @@ int kvm_vm_ioctl_get_dirty_log(struct kvm *kvm, | |||
2628 | if (!memslot->dirty_bitmap) | 2629 | if (!memslot->dirty_bitmap) |
2629 | goto out; | 2630 | goto out; |
2630 | 2631 | ||
2631 | n = ALIGN(memslot->npages, BITS_PER_LONG) / 8; | 2632 | n = kvm_dirty_bitmap_bytes(memslot); |
2632 | 2633 | ||
2633 | r = -ENOMEM; | 2634 | r = -ENOMEM; |
2634 | dirty_bitmap = vmalloc(n); | 2635 | dirty_bitmap = vmalloc(n); |