aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorKunkun Jiang <jiangkunkun@huawei.com>2021-05-27 20:31:01 +0800
committerAlex Williamson <alex.williamson@redhat.com>2021-06-18 08:38:04 -0600
commit22fca190e25b10761925bb1eeadeda07aabf3c26 (patch)
treef011115d20d069ade07b727f7aee6bde882ce5b4 /hw
parent2a5781331a08628fa5d5a0e9a5ea415ce462e707 (diff)
downloadqemu-22fca190e25b10761925bb1eeadeda07aabf3c26.zip
qemu-22fca190e25b10761925bb1eeadeda07aabf3c26.tar.gz
qemu-22fca190e25b10761925bb1eeadeda07aabf3c26.tar.bz2
vfio: Fix unregister SaveVMHandler in vfio_migration_finalize
In the vfio_migration_init(), the SaveVMHandler is registered for VFIO device. But it lacks the operation of 'unregister'. It will lead to 'Segmentation fault (core dumped)' in qemu_savevm_state_setup(), if performing live migration after a VFIO device is hot deleted. Fixes: 7c2f5f75f94 (vfio: Register SaveVMHandlers for VFIO device) Reported-by: Qixin Gan <ganqixin@huawei.com> Signed-off-by: Kunkun Jiang <jiangkunkun@huawei.com> Message-Id: <20210527123101.289-1-jiangkunkun@huawei.com> Reviewed by: Kirti Wankhede <kwankhede@nvidia.com> Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Diffstat (limited to 'hw')
-rw-r--r--hw/vfio/migration.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/vfio/migration.c b/hw/vfio/migration.c
index 201642d..ef397eb 100644
--- a/hw/vfio/migration.c
+++ b/hw/vfio/migration.c
@@ -892,6 +892,7 @@ void vfio_migration_finalize(VFIODevice *vbasedev)
remove_migration_state_change_notifier(&migration->migration_state);
qemu_del_vm_change_state_handler(migration->vm_state);
+ unregister_savevm(VMSTATE_IF(vbasedev->dev), "vfio", vbasedev);
vfio_migration_exit(vbasedev);
}