Skip to content

Commit

Permalink
migration/ram: add additional check
Browse files Browse the repository at this point in the history
If a migration stream is broken, the address and flag reading can return
zero. Thus, an irrelevant flag error will be returned instead of EIO.
It can be fixed by additional check after the reading.

Signed-off-by: Maksim Davydov <davydov-max@yandex-team.ru>
Link: https://lore.kernel.org/r/20240304144203.158477-1-davydov-max@yandex-team.ru
Signed-off-by: Peter Xu <peterx@redhat.com>
  • Loading branch information
Maksim Davydov authored and xzpeter committed Mar 11, 2024
1 parent ff64e0b commit 12ab1e4
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions migration/ram.c
Original file line number Diff line number Diff line change
Expand Up @@ -4214,6 +4214,12 @@ static int ram_load_precopy(QEMUFile *f)
i++;

addr = qemu_get_be64(f);
ret = qemu_file_get_error(f);
if (ret) {
error_report("Getting RAM address failed");
break;
}

flags = addr & ~TARGET_PAGE_MASK;
addr &= TARGET_PAGE_MASK;

Expand Down

0 comments on commit 12ab1e4

Please sign in to comment.