diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2014-04-04 17:42:56 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2014-04-04 18:29:25 +0100 |
commit | bae2c270906475093e3d5f4c3103dbe67bf82009 (patch) | |
tree | c1344aaf7b7b20461209e3d4075a635455f31d75 /tcg | |
parent | cd7ccc83512a0cba5aa0c778e7507f267cfb1b16 (diff) | |
download | qemu-bae2c270906475093e3d5f4c3103dbe67bf82009.zip qemu-bae2c270906475093e3d5f4c3103dbe67bf82009.tar.gz qemu-bae2c270906475093e3d5f4c3103dbe67bf82009.tar.bz2 |
cpu-exec: Unlock tb_lock if we longjmp out of code generation
If the guest attempts to execute from unreadable memory, this will
cause us to longjmp back to the main loop from inside the
target frontend decoder. For linux-user mode, this means we will
still hold the tb_ctx.tb_lock, and will deadlock when we try to
start executing code again. Unlock the lock in the return-from-longjmp
code path to avoid this.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Acked-by: Andrei Warkentin <andrey.warkentin@gmail.com>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'tcg')
0 files changed, 0 insertions, 0 deletions