]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
plugins/loader: fix deadlock when resetting/uninstalling a plugin
authorPierrick Bouvier <pierrick.bouvier@linaro.org>
Fri, 4 Apr 2025 03:20:26 +0000 (20:20 -0700)
committerMichael Tokarev <mjt@tls.msk.ru>
Wed, 16 Apr 2025 06:39:47 +0000 (09:39 +0300)
Reported and fixed by Dmitry Kurakin.

Fixes: https://gitlab.com/qemu-project/qemu/-/issues/2901
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Message-Id: <20250404032027.430575-2-pierrick.bouvier@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
(cherry picked from commit c07cd110a1824e2d046581af7375f16dac26e96f)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
plugins/loader.c

index 88c30bde2d6aa4c18f86b2853129a8304598abdb..370fe548362bff25642538662dbce870f083677c 100644 (file)
@@ -374,7 +374,7 @@ static void plugin_reset_destroy(struct qemu_plugin_reset_data *data)
 {
     qemu_rec_mutex_lock(&plugin.lock);
     plugin_reset_destroy__locked(data);
-    qemu_rec_mutex_lock(&plugin.lock);
+    qemu_rec_mutex_unlock(&plugin.lock);
 }
 
 static void plugin_flush_destroy(CPUState *cpu, run_on_cpu_data arg)