On 5/27/21 2:31 PM, Kunkun Jiang wrote: > 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 <[email protected]> > Signed-off-by: Kunkun Jiang <[email protected]>
Cc: [email protected] > --- > hw/vfio/migration.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/hw/vfio/migration.c b/hw/vfio/migration.c > index 201642d75e..ef397ebe6c 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); Hmm what about devices using "%s/vfio" id? > vfio_migration_exit(vbasedev); > } > >
