[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 03/17] migration: Fix parse_ramblock() on overwritten retvals
From: |
Juan Quintela |
Subject: |
[PULL 03/17] migration: Fix parse_ramblock() on overwritten retvals |
Date: |
Fri, 20 Oct 2023 08:57:37 +0200 |
From: Peter Xu <peterx@redhat.com>
It's possible that some errors can be overwritten with success retval later
on, and then ignored. Always capture all errors and report.
Reported by Coverity 1522861, but actually I spot one more in the same
function.
Fixes: CID 1522861
Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231017203855.298260-1-peterx@redhat.com>
---
migration/ram.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/migration/ram.c b/migration/ram.c
index 16c30a9d7a..92769902bb 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -3873,6 +3873,7 @@ static int parse_ramblock(QEMUFile *f, RAMBlock *block,
ram_addr_t length)
ret = qemu_ram_resize(block, length, &local_err);
if (local_err) {
error_report_err(local_err);
+ return ret;
}
}
/* For postcopy we need to check hugepage sizes match */
@@ -3883,7 +3884,7 @@ static int parse_ramblock(QEMUFile *f, RAMBlock *block,
ram_addr_t length)
error_report("Mismatched RAM page size %s "
"(local) %zd != %" PRId64, block->idstr,
block->page_size, remote_page_size);
- ret = -EINVAL;
+ return -EINVAL;
}
}
if (migrate_ignore_shared()) {
@@ -3893,7 +3894,7 @@ static int parse_ramblock(QEMUFile *f, RAMBlock *block,
ram_addr_t length)
error_report("Mismatched GPAs for block %s "
"%" PRId64 "!= %" PRId64, block->idstr,
(uint64_t)addr, (uint64_t)block->mr->addr);
- ret = -EINVAL;
+ return -EINVAL;
}
}
ret = rdma_block_notification_handle(f, block->idstr);
--
2.41.0
- [PULL 00/17] Migration 20231020 patches, Juan Quintela, 2023/10/20
- [PULL 01/17] tests/qtest/migration-test: Disable the analyze-migration.py test on s390x, Juan Quintela, 2023/10/20
- [PULL 02/17] migration: simplify blockers, Juan Quintela, 2023/10/20
- [PULL 03/17] migration: Fix parse_ramblock() on overwritten retvals,
Juan Quintela <=
- [PULL 05/17] migration/multifd: Stop checking p->quit in multifd_send_thread, Juan Quintela, 2023/10/20
- [PULL 06/17] tests/qtest: Allow qtest_qemu_binary to use a custom environment variable, Juan Quintela, 2023/10/20
- [PULL 04/17] migration: simplify notifiers, Juan Quintela, 2023/10/20
- [PULL 07/17] tests/qtest: Introduce qtest_init_with_env, Juan Quintela, 2023/10/20
- [PULL 08/17] tests/qtest: Allow qtest_get_machines to use an alternate QEMU binary, Juan Quintela, 2023/10/20
- [PULL 09/17] tests/qtest: Introduce qtest_has_machine_with_env, Juan Quintela, 2023/10/20
- [PULL 11/17] tests/qtest/migration: Introduce find_common_machine_version, Juan Quintela, 2023/10/20
- [PULL 10/17] tests/qtest: Introduce qtest_resolve_machine_alias, Juan Quintela, 2023/10/20
- [PULL 12/17] tests/qtest/migration: Define a machine for all architectures, Juan Quintela, 2023/10/20
- [PULL 13/17] tests/qtest/migration: Specify the geometry of the bootsector, Juan Quintela, 2023/10/20