migration: Fix use of file after release
qemu_fclose frees the passed file structure, but do_migrate_set_speed may access it later on. Fix it by setting file NULL in migrate_fd_cleanup and checking for this. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
be73cfe2be
commit
5d39c799c3
@ -118,12 +118,11 @@ void do_migrate_set_speed(Monitor *mon, const QDict *qdict, QObject **ret_data)
|
||||
}
|
||||
|
||||
max_throttle = (uint32_t)d;
|
||||
s = migrate_to_fms(current_migration);
|
||||
|
||||
if (s) {
|
||||
s = migrate_to_fms(current_migration);
|
||||
if (s && s->file) {
|
||||
qemu_file_set_rate_limit(s->file, max_throttle);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* amount of nanoseconds we are willing to wait for migration to be down.
|
||||
@ -209,6 +208,7 @@ void migrate_fd_cleanup(FdMigrationState *s)
|
||||
if (s->file) {
|
||||
dprintf("closing file\n");
|
||||
qemu_fclose(s->file);
|
||||
s->file = NULL;
|
||||
}
|
||||
|
||||
if (s->fd != -1)
|
||||
|
Loading…
Reference in New Issue
Block a user