projects
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
acf7b7f
)
migration: fix RCU deadlock
author
Paolo Bonzini
<pbonzini@redhat.com>
Thu, 9 Jul 2015 06:47:58 +0000
(08:47 +0200)
committer
Paolo Bonzini
<pbonzini@redhat.com>
Thu, 9 Jul 2015 06:47:58 +0000
(08:47 +0200)
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>
migration/ram.c
patch
|
blob
|
history
diff --git
a/migration/ram.c
b/migration/ram.c
index c69681419619876a49ef7728cd6d081cbd1d7500..1e58cd39242b6d4fa91f67c626a0ba7191c3d843 100644
(file)
--- a/
migration/ram.c
+++ b/
migration/ram.c
@@
-1266,9
+1266,10
@@
static int ram_save_complete(QEMUFile *f, void *opaque)
flush_compressed_data(f);
ram_control_after_iterate(f, RAM_CONTROL_FINISH);
- migration_end();
rcu_read_unlock();
+
+ migration_end();
qemu_put_be64(f, RAM_SAVE_FLAG_EOS);
return 0;