linux-user: more debug for init_guest_space
Searching for memory space can cause problems so lets extend the CPU_LOG_PAGE output so you can watch init_guest_space fail to allocate memory. A more involved fix is actually required to make this function play nicely with the large guard pages the sanitiser likes to use. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Laurent Vivier <laurent@vivier.eu> Message-Id: <20200403191150.863-5-alex.bennee@linaro.org>
This commit is contained in:
parent
af7fc47f2c
commit
b859040dc4
@ -2172,6 +2172,8 @@ unsigned long init_guest_space(unsigned long host_start,
|
||||
|
||||
/* Check to see if the address is valid. */
|
||||
if (host_start && real_start != current_start) {
|
||||
qemu_log_mask(CPU_LOG_PAGE, "invalid %lx && %lx != %lx\n",
|
||||
host_start, real_start, current_start);
|
||||
goto try_again;
|
||||
}
|
||||
|
||||
@ -2240,7 +2242,11 @@ unsigned long init_guest_space(unsigned long host_start,
|
||||
* probably a bad strategy if not, which means we got here
|
||||
* because of trouble with ARM commpage setup.
|
||||
*/
|
||||
munmap((void *)real_start, real_size);
|
||||
if (munmap((void *)real_start, real_size) != 0) {
|
||||
error_report("%s: failed to unmap %lx:%lx (%s)", __func__,
|
||||
real_start, real_size, strerror(errno));
|
||||
abort();
|
||||
}
|
||||
current_start += align;
|
||||
if (host_start == current_start) {
|
||||
/* Theoretically possible if host doesn't have any suitably
|
||||
|
Loading…
Reference in New Issue
Block a user