The buffer passed to KVM_GET_DIRTY_LOG requires one bit per page. Fix
the size calculation in kvm_physical_sync_dirty_bitmap accordingly,
avoiding allocation of extremly oversized buffers.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
return;
}
- alloc_size = mem->memory_size >> TARGET_PAGE_BITS / sizeof(d.dirty_bitmap);
+ alloc_size = ((mem->memory_size >> TARGET_PAGE_BITS) + 7) / 8;
d.dirty_bitmap = qemu_mallocz(alloc_size);
d.slot = mem->slot;