mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-11 03:24:58 -06:00
migration: Take reference to migration state around bg_migration_vm_start_bh
We need to hold a reference to the current_migration object around async calls to avoid it been freed while still in use. Signed-off-by: Fabiano Rosas <farosas@suse.de> Link: https://lore.kernel.org/r/20240119233922.32588-3-farosas@suse.de Signed-off-by: Peter Xu <peterx@redhat.com>
This commit is contained in:
parent
27eb8499ed
commit
59094cfa7a
1 changed files with 2 additions and 0 deletions
|
@ -3382,6 +3382,7 @@ static void bg_migration_vm_start_bh(void *opaque)
|
||||||
|
|
||||||
vm_resume(s->vm_old_state);
|
vm_resume(s->vm_old_state);
|
||||||
migration_downtime_end(s);
|
migration_downtime_end(s);
|
||||||
|
object_unref(OBJECT(s));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3486,6 +3487,7 @@ static void *bg_migration_thread(void *opaque)
|
||||||
* writes to virtio VQs memory which is in write-protected region.
|
* writes to virtio VQs memory which is in write-protected region.
|
||||||
*/
|
*/
|
||||||
s->vm_start_bh = qemu_bh_new(bg_migration_vm_start_bh, s);
|
s->vm_start_bh = qemu_bh_new(bg_migration_vm_start_bh, s);
|
||||||
|
object_ref(OBJECT(s));
|
||||||
qemu_bh_schedule(s->vm_start_bh);
|
qemu_bh_schedule(s->vm_start_bh);
|
||||||
|
|
||||||
bql_unlock();
|
bql_unlock();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue