The number of bits is off by one, for example if last_ram_offset is 0x1000 (the guest has one page) we get 0 bits instead of 1.
Signed-off-by: Orit Wasserman <owass...@redhat.com> --- arch_init.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch_init.c b/arch_init.c index b75a4c5..a80c3c8 100644 --- a/arch_init.c +++ b/arch_init.c @@ -565,7 +565,7 @@ static void reset_ram_globals(void) static int ram_save_setup(QEMUFile *f, void *opaque) { RAMBlock *block; - int64_t ram_pages = last_ram_offset() >> TARGET_PAGE_BITS; + int64_t ram_pages = (last_ram_offset() >> TARGET_PAGE_BITS) + 1; migration_bitmap = bitmap_new(ram_pages); bitmap_set(migration_bitmap, 0, ram_pages); -- 1.7.11.7