Snapshots made with mapped-ram and x-ignore-shared flags are
not parsed properly.

Signed-off-by: Pawel Zmarzly <[email protected]>
---
 migration/ram.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/migration/ram.c b/migration/ram.c
index 29f016cb25..85fdc810ab 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -4277,6 +4277,11 @@ static int parse_ramblocks(QEMUFile *f, ram_addr_t 
total_ram_bytes)
         id[len] = 0;
         length = qemu_get_be64(f);
 
+        if (migrate_ignore_shared()) {
+            /* Read and discard the x-ignore-shared memory region address */
+            qemu_get_be64(f);
+        }
+
         block = qemu_ram_block_by_name(id);
         if (block) {
             ret = parse_ramblock(f, block, length);
-- 
2.52.0


Reply via email to