mirror of https://github.com/xemu-project/xemu.git
migration: fix RCU deadlock
migration_end calls synchronize_rcu() within a critical section. That causes a deadlock; move the call after rcu_read_unlock(). Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
acf7b7fdf3
commit
d09a6fde15
|
@ -1266,9 +1266,10 @@ static int ram_save_complete(QEMUFile *f, void *opaque)
|
||||||
|
|
||||||
flush_compressed_data(f);
|
flush_compressed_data(f);
|
||||||
ram_control_after_iterate(f, RAM_CONTROL_FINISH);
|
ram_control_after_iterate(f, RAM_CONTROL_FINISH);
|
||||||
migration_end();
|
|
||||||
|
|
||||||
rcu_read_unlock();
|
rcu_read_unlock();
|
||||||
|
|
||||||
|
migration_end();
|
||||||
qemu_put_be64(f, RAM_SAVE_FLAG_EOS);
|
qemu_put_be64(f, RAM_SAVE_FLAG_EOS);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue