mirror of
https://github.com/xemu-project/xemu.git
synced 2024-11-23 19:49:43 +00:00
linux-user/elfload: ensure mmap_lock() held while setting up
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 <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <rth@twiddle.net> Message-Id: <20161027151030.20863-8-alex.bennee@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
7d7500d998
commit
98c1076cc9
@ -1842,6 +1842,8 @@ static void load_elf_image(const char *image_name, int image_fd,
|
|||||||
info->pt_dynamic_addr = 0;
|
info->pt_dynamic_addr = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
mmap_lock();
|
||||||
|
|
||||||
/* Find the maximum size of the image and allocate an appropriate
|
/* Find the maximum size of the image and allocate an appropriate
|
||||||
amount of memory to handle that. */
|
amount of memory to handle that. */
|
||||||
loaddr = -1, hiaddr = 0;
|
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);
|
load_symbols(ehdr, image_fd, load_bias);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mmap_unlock();
|
||||||
|
|
||||||
close(image_fd);
|
close(image_fd);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user