cpu-exec: reset BQL after longjmp in cpu_exec_step_atomic
authorEmilio G. Cota <cota@braap.org>
Tue, 15 Jan 2019 19:47:54 +0000 (14:47 -0500)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 5 Feb 2019 15:50:16 +0000 (16:50 +0100)
Just like we do in cpu_exec().

Reported-by: Max Filippov <jcmvbkbc@gmail.com>
Tested-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Emilio G. Cota <cota@braap.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
accel/tcg/cpu-exec.c

index 49b3259f3621d6a8534bedfc6be246ef8091691b..fab30af86f949c7c118257be7ad0139d20f62373 100644 (file)
@@ -266,6 +266,9 @@ void cpu_exec_step_atomic(CPUState *cpu)
 #ifndef CONFIG_SOFTMMU
         tcg_debug_assert(!have_mmap_lock());
 #endif
+        if (qemu_mutex_iothread_locked()) {
+            qemu_mutex_unlock_iothread();
+        }
         assert_no_pages_locked();
     }