[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC v4 07/28] linux-user/elfload: ensure mmap_lock() held
From: |
Alex Bennée |
Subject: |
[Qemu-devel] [RFC v4 07/28] linux-user/elfload: ensure mmap_lock() held while setting up |
Date: |
Thu, 11 Aug 2016 16:24:03 +0100 |
Future patches will enforce the holding of mmap_lock() when we are
manipulating internal memory structures. Technically it doesn't matter
in the case of elfload as we haven't started executing yet. However it
is easier to grab the lock when required than special case the
translate-all API.
Signed-off-by: Alex Bennée <address@hidden>
---
v4
- split from assert patch
---
linux-user/elfload.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index f807baf..4b125b9 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -1838,6 +1838,8 @@ static void load_elf_image(const char *image_name, int
image_fd,
info->pt_dynamic_addr = 0;
#endif
+ mmap_lock();
+
/* Find the maximum size of the image and allocate an appropriate
amount of memory to handle that. */
loaddr = -1, hiaddr = 0;
@@ -1998,6 +2000,8 @@ static void load_elf_image(const char *image_name, int
image_fd,
load_symbols(ehdr, image_fd, load_bias);
}
+ mmap_unlock();
+
close(image_fd);
return;
--
2.7.4
- [Qemu-devel] [RFC v4 00/28] Base enabling patches for MTTCG, Alex Bennée, 2016/08/11
- [Qemu-devel] [RFC v4 02/28] translate_all: DEBUG_FLUSH -> DEBUG_TB_FLUSH, Alex Bennée, 2016/08/11
- [Qemu-devel] [RFC v4 04/28] cpu-exec: include cpu_index in CPU_LOG_EXEC messages, Alex Bennée, 2016/08/11
- [Qemu-devel] [RFC v4 01/28] cpus: make all_vcpus_paused() return bool, Alex Bennée, 2016/08/11
- [Qemu-devel] [RFC v4 03/28] translate-all: add DEBUG_LOCKING asserts, Alex Bennée, 2016/08/11
- [Qemu-devel] [RFC v4 05/28] docs: new design document multi-thread-tcg.txt (DRAFTING), Alex Bennée, 2016/08/11
- [Qemu-devel] [RFC v4 08/28] translate-all: Add assert_(memory|tb)_lock annotations, Alex Bennée, 2016/08/11
- [Qemu-devel] [RFC v4 10/28] target-arm/arm-powerctl: wake up sleeping CPUs, Alex Bennée, 2016/08/11
- [Qemu-devel] [RFC v4 07/28] linux-user/elfload: ensure mmap_lock() held while setting up,
Alex Bennée <=
- [Qemu-devel] [RFC v4 06/28] tcg: comment on which functions have to be called with tb_lock held, Alex Bennée, 2016/08/11
- [Qemu-devel] [RFC v4 15/28] tcg: rename tcg_current_cpu to tcg_current_rr_cpu, Alex Bennée, 2016/08/11
- [Qemu-devel] [RFC v4 09/28] tcg: protect TBContext with tb_lock., Alex Bennée, 2016/08/11
- [Qemu-devel] [RFC v4 11/28] tcg: move tcg_exec_all and helpers above thread fn, Alex Bennée, 2016/08/11
- [Qemu-devel] [RFC v4 14/28] tcg: add kick timer for single-threaded vCPU emulation, Alex Bennée, 2016/08/11
- [Qemu-devel] [RFC v4 12/28] tcg: cpus rm tcg_exec_all(), Alex Bennée, 2016/08/11
- [Qemu-devel] [RFC v4 13/28] tcg: add options for enabling MTTCG, Alex Bennée, 2016/08/11
- [Qemu-devel] [RFC v4 17/28] cpus: re-factor out handle_icount_deadline, Alex Bennée, 2016/08/11
- [Qemu-devel] [RFC v4 18/28] tcg: remove global exit_request, Alex Bennée, 2016/08/11
- [Qemu-devel] [RFC v4 19/28] tcg: move locking for tb_invalidate_phys_page_range up, Alex Bennée, 2016/08/11