qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PULL 1/2] migration: fix RCU deadlock


From: Paolo Bonzini
Subject: [Qemu-devel] [PULL 1/2] migration: fix RCU deadlock
Date: Thu, 9 Jul 2015 16:57:09 +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 <address@hidden>
---
 migration/ram.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/migration/ram.c b/migration/ram.c
index c696814..1e58cd3 100644
--- 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;
-- 
2.4.3





reply via email to

[Prev in Thread] Current Thread [Next in Thread]