[Qemu-devel] [PATCH] linux-user: Allow -R values up to 0xffff0000 for 32-bit ARM guests

Peter Maydell posted 1 patch 6 years, 6 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1507047703-10774-1-git-send-email-peter.maydell@linaro.org
Test checkpatch passed
Test docker passed
Test s390x passed
linux-user/elfload.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[Qemu-devel] [PATCH] linux-user: Allow -R values up to 0xffff0000 for 32-bit ARM guests
Posted by Peter Maydell 6 years, 6 months ago
The 32-bit ARM validate_guest_space() check tests whether the
specified -R value leaves enough space for us to put the
commpage in at 0xffff0f00. However it was incorrectly doing
a <= check for the check against (guest_base + guest_size),
which meant that it wasn't permitting the guest space to
butt right up against the commpage.

Fix the comparison, so that -R values all the way up to 0xffff0000
work correctly.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 linux-user/elfload.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index 7906288..3b857fb 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -377,7 +377,7 @@ static int validate_guest_space(unsigned long guest_base,
      * then there is no way we can allocate it.
      */
     if (test_page_addr >= guest_base
-        && test_page_addr <= (guest_base + guest_size)) {
+        && test_page_addr < (guest_base + guest_size)) {
         return -1;
     }
 
-- 
2.7.4


Re: [Qemu-devel] [PATCH] linux-user: Allow -R values up to 0xffff0000 for 32-bit ARM guests
Posted by Emilio G. Cota 6 years, 6 months ago
On Tue, Oct 03, 2017 at 17:21:43 +0100, Peter Maydell wrote:
> The 32-bit ARM validate_guest_space() check tests whether the
> specified -R value leaves enough space for us to put the
> commpage in at 0xffff0f00. However it was incorrectly doing
> a <= check for the check against (guest_base + guest_size),
> which meant that it wasn't permitting the guest space to
> butt right up against the commpage.
> 
> Fix the comparison, so that -R values all the way up to 0xffff0000
> work correctly.
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

Reviewed-by: Emilio G. Cota <cota@braap.org>

		E.