53 lines
1.9 KiB
Diff
53 lines
1.9 KiB
Diff
|
From 005c4cb023ffdcb8888c7453d263cab95d5b1b1c Mon Sep 17 00:00:00 2001
|
||
|
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
|
||
|
Date: Mon, 1 Oct 2018 10:54:49 +0100
|
||
|
Subject: migration: cleanup in error paths in loadvm
|
||
|
|
||
|
RH-Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
|
||
|
Message-id: <20181001105449.41090-3-dgilbert@redhat.com>
|
||
|
Patchwork-id: 82325
|
||
|
O-Subject: [RHEL-8.0 qemu-kvm PATCH 2/2] migration: cleanup in error paths in loadvm
|
||
|
Bugzilla: 1608765
|
||
|
RH-Acked-by: Pankaj Gupta <pagupta@redhat.com>
|
||
|
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
|
||
|
RH-Acked-by: Laurent Vivier <lvivier@redhat.com>
|
||
|
|
||
|
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
|
||
|
|
||
|
There's a couple of error paths in qemu_loadvm_state
|
||
|
which happen early on but after we've initialised the
|
||
|
load state; that needs to be cleaned up otherwise
|
||
|
we can hit asserts if the state gets reinitialised later.
|
||
|
|
||
|
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
|
||
|
Message-Id: <20180914170430.54271-3-dgilbert@redhat.com>
|
||
|
Reviewed-by: Peter Xu <peterx@redhat.com>
|
||
|
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
|
||
|
(cherry picked from commit 096c83b7219c5a2145435afc8be750281e9cb447)
|
||
|
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
|
||
|
---
|
||
|
migration/savevm.c | 2 ++
|
||
|
1 file changed, 2 insertions(+)
|
||
|
|
||
|
diff --git a/migration/savevm.c b/migration/savevm.c
|
||
|
index 762c4b2..27e054d 100644
|
||
|
--- a/migration/savevm.c
|
||
|
+++ b/migration/savevm.c
|
||
|
@@ -2328,11 +2328,13 @@ int qemu_loadvm_state(QEMUFile *f)
|
||
|
if (migrate_get_current()->send_configuration) {
|
||
|
if (qemu_get_byte(f) != QEMU_VM_CONFIGURATION) {
|
||
|
error_report("Configuration section missing");
|
||
|
+ qemu_loadvm_state_cleanup();
|
||
|
return -EINVAL;
|
||
|
}
|
||
|
ret = vmstate_load_state(f, &vmstate_configuration, &savevm_state, 0);
|
||
|
|
||
|
if (ret) {
|
||
|
+ qemu_loadvm_state_cleanup();
|
||
|
return ret;
|
||
|
}
|
||
|
}
|
||
|
--
|
||
|
1.8.3.1
|
||
|
|