From: Kunkun Jiang Date: Thu, 27 May 2021 12:31:01 +0000 (+0800) Subject: vfio: Fix unregister SaveVMHandler in vfio_migration_finalize X-Git-Tag: v6.0.1~47 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5b55370e28e262fba0c95f5dc05e9551c875671a;p=thirdparty%2Fqemu.git 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 Signed-off-by: Kunkun Jiang Message-Id: <20210527123101.289-1-jiangkunkun@huawei.com> Reviewed by: Kirti Wankhede Signed-off-by: Alex Williamson (cherry picked from commit 22fca190e25b10761925bb1eeadeda07aabf3c26) Signed-off-by: Michael Roth --- diff --git a/hw/vfio/migration.c b/hw/vfio/migration.c index 384576cfc05..3ed3d595b87 100644 --- a/hw/vfio/migration.c +++ b/hw/vfio/migration.c @@ -893,6 +893,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); }