diff options
author | Alexander Graf <agraf@suse.de> | 2013-07-06 14:17:57 +0200 |
---|---|---|
committer | Riku Voipio <riku.voipio@linaro.org> | 2013-07-23 17:28:28 +0300 |
commit | d02532f08e207419e412ea7cd4eb8b36f04f426d (patch) | |
tree | 1028ecb34c4b01f3c74967116225aed8101e225a /configure | |
parent | b24c882b9435d0745679a96571027a2c92065e4f (diff) | |
download | qemu-d02532f08e207419e412ea7cd4eb8b36f04f426d.zip qemu-d02532f08e207419e412ea7cd4eb8b36f04f426d.tar.gz qemu-d02532f08e207419e412ea7cd4eb8b36f04f426d.tar.bz2 |
linux-user: Unlock mmap_lock when resuming guest from page_unprotect
The page_unprotect() function is running everything locked. Before every
potential exit path of the function mmap_unlock() gets called to make sure
we don't leak the lock.
However, the function calls tb_invalidate_phys_page() which again can
exit a signal through longjmp, leaving our mmap_unlock() attempts in vain.
Add a hint to tb_invalidate_phys_page() that we need to unlock before we
can leave back into guest context, so that we don't leak the lock.
This fixes 16-bit i386 wine programs running in linux-user for me.
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
Diffstat (limited to 'configure')
0 files changed, 0 insertions, 0 deletions