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 /qtest.c | |
parent | b24c882b9435d0745679a96571027a2c92065e4f (diff) |
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 'qtest.c')
0 files changed, 0 insertions, 0 deletions