[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 06/14] linux-user/elfload: ensure mmap_lock() held wh
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PULL 06/14] linux-user/elfload: ensure mmap_lock() held while setting up |
Date: |
Mon, 31 Oct 2016 15:13:27 +0100 |
From: Alex Bennée <address@hidden>
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>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
---
linux-user/elfload.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index 816272a..547053c 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -1842,6 +1842,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;
@@ -2002,6 +2004,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] [PULL 00/14] MTTCG patches for 2016-10-31, Paolo Bonzini, 2016/10/31
- [Qemu-devel] [PULL 04/14] cpu-exec: include cpu_index in CPU_LOG_EXEC messages, Paolo Bonzini, 2016/10/31
- [Qemu-devel] [PULL 03/14] translate-all: add DEBUG_LOCKING asserts, Paolo Bonzini, 2016/10/31
- [Qemu-devel] [PULL 06/14] linux-user/elfload: ensure mmap_lock() held while setting up,
Paolo Bonzini <=
- [Qemu-devel] [PULL 05/14] tcg: comment on which functions have to be called with tb_lock held, Paolo Bonzini, 2016/10/31
- [Qemu-devel] [PULL 02/14] translate_all: DEBUG_FLUSH -> DEBUG_TB_FLUSH, Paolo Bonzini, 2016/10/31
- [Qemu-devel] [PULL 01/14] cpus: make all_vcpus_paused() return bool, Paolo Bonzini, 2016/10/31
- [Qemu-devel] [PULL 08/14] tcg: protect translation related stuff with tb_lock., Paolo Bonzini, 2016/10/31
- [Qemu-devel] [PULL 07/14] translate-all: Add assert_(memory|tb)_lock annotations, Paolo Bonzini, 2016/10/31
- [Qemu-devel] [PULL 11/14] tcg: cpus rm tcg_exec_all(), Paolo Bonzini, 2016/10/31
- [Qemu-devel] [PULL 10/14] tcg: move tcg_exec_all and helpers above thread fn, Paolo Bonzini, 2016/10/31
- [Qemu-devel] [PULL 12/14] cpus: re-factor out handle_icount_deadline, Paolo Bonzini, 2016/10/31
- [Qemu-devel] [PULL 09/14] target-arm/arm-powerctl: wake up sleeping CPUs, Paolo Bonzini, 2016/10/31
- [Qemu-devel] [PULL 14/14] tcg: move locking for tb_invalidate_phys_page_range up, Paolo Bonzini, 2016/10/31