summaryrefslogtreecommitdiff
path: root/linux-user
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2013-07-06 14:17:57 +0200
committerRiku Voipio <riku.voipio@linaro.org>2013-07-23 17:28:28 +0300
commitd02532f08e207419e412ea7cd4eb8b36f04f426d (patch)
tree1028ecb34c4b01f3c74967116225aed8101e225a /linux-user
parentb24c882b9435d0745679a96571027a2c92065e4f (diff)
downloadqemu-d02532f08e207419e412ea7cd4eb8b36f04f426d.tar.gz
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 'linux-user')
0 files changed, 0 insertions, 0 deletions