migration: Reference migration state around loadvm_postcopy_handle_run_bh
We need to hold a reference to the current_migration object around async calls to avoid it been freed while still in use. Even on this load-side function, we might still use the MigrationState, e.g to check for capabilities. Signed-off-by: Fabiano Rosas <farosas@suse.de> Link: https://lore.kernel.org/r/20240119233922.32588-4-farosas@suse.de Signed-off-by: Peter Xu <peterx@redhat.com>
This commit is contained in:
parent
59094cfa7a
commit
9cf268965d
@ -2174,6 +2174,7 @@ static void loadvm_postcopy_handle_run_bh(void *opaque)
|
||||
qemu_bh_delete(mis->bh);
|
||||
|
||||
trace_vmstate_downtime_checkpoint("dst-postcopy-bh-vm-started");
|
||||
object_unref(OBJECT(migration_get_current()));
|
||||
}
|
||||
|
||||
/* After all discards we can start running and asking for pages */
|
||||
@ -2189,6 +2190,7 @@ static int loadvm_postcopy_handle_run(MigrationIncomingState *mis)
|
||||
|
||||
postcopy_state_set(POSTCOPY_INCOMING_RUNNING);
|
||||
mis->bh = qemu_bh_new(loadvm_postcopy_handle_run_bh, mis);
|
||||
object_ref(OBJECT(migration_get_current()));
|
||||
qemu_bh_schedule(mis->bh);
|
||||
|
||||
/* We need to finish reading the stream from the package
|
||||
|
Loading…
Reference in New Issue
Block a user