From: Luke Shumaker <luke...@parabola.nu> The goal of this patchset is to fix https://bugs.launchpad.net/qemu/+bug/1740219
The gist is that the current linear search for an acceptable address range is a bad strategy when the reason we didn't get a good address on the first try is that we've having problems mapping the commpage for the 32-bit ARM target; especially if ASLR is disabled. I think that only the final patch in this patchset is actually necessary to fix the issue; but I didn't feel comfortable writing it without also makeing the preceding (small) changes. Luke Shumaker (10): linux-user: Use #if to only call validate_guest_space for 32-bit ARM target linux-user: Rename validate_guest_space => init_guest_commpage linux-user: init_guest_space: Clean up if we can't initialize the commpage linux-user: init_guest_space: Correctly handle guest_start in commpage initialization linux-user: init_guest_space: Clarify page alignment logic linux-user: init_guest_commpage: Add a comment about size check linux-user: init_guest_space: Clean up control flow a bit linux-user: init_guest_space: Don't try to align if we'll reject it linux-user: init_guest_space: Add a comment about search strategy linux-user: init_guest_space: Try to make ARM space+commpage continuous linux-user/elfload.c | 145 ++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 114 insertions(+), 31 deletions(-) -- 2.15.1 Happy hacking, ~ Luke Shumaker