[PULL 20/47] linux-user: Make sure initial brk(0) is page-aligned

Richard Henderson posted 47 patches 2 years, 6 months ago
Maintainers: Richard Henderson <richard.henderson@linaro.org>, Paolo Bonzini <pbonzini@redhat.com>, Riku Voipio <riku.voipio@iki.fi>, Warner Losh <imp@bsdimp.com>, Kyle Evans <kevans@freebsd.org>, Laurent Vivier <laurent@vivier.eu>, Palmer Dabbelt <palmer@dabbelt.com>, Alistair Francis <alistair.francis@wdc.com>, Bin Meng <bin.meng@windriver.com>, Weiwei Li <liweiwei@iscas.ac.cn>, Daniel Henrique Barboza <dbarboza@ventanamicro.com>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>, Artyom Tarasenko <atar4qemu@gmail.com>
There is a newer version of this series
[PULL 20/47] linux-user: Make sure initial brk(0) is page-aligned
Posted by Richard Henderson 2 years, 6 months ago
From: Andreas Schwab <schwab@suse.de>

Fixes: 86f04735ac ("linux-user: Fix brk() to release pages")
Signed-off-by: Andreas Schwab <schwab@suse.de>
Message-Id: <mvmpm55qnno.fsf@suse.de>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 linux-user/syscall.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index b78eb686d8..02d3b6c90a 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -806,7 +806,7 @@ static abi_ulong brk_page;
 
 void target_set_brk(abi_ulong new_brk)
 {
-    target_brk = new_brk;
+    target_brk = TARGET_PAGE_ALIGN(new_brk);
     brk_page = HOST_PAGE_ALIGN(target_brk);
 }
 
-- 
2.34.1
Re: [PULL 20/47] linux-user: Make sure initial brk(0) is page-aligned
Posted by Michael Tokarev 2 years, 6 months ago
15.07.2023 16:52, Richard Henderson wrote:
> From: Andreas Schwab <schwab@suse.de>
> 
> Fixes: 86f04735ac ("linux-user: Fix brk() to release pages")
> Signed-off-by: Andreas Schwab <schwab@suse.de>
> Message-Id: <mvmpm55qnno.fsf@suse.de>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

This smells like a stable-8.0 material.  Please let me know if it is not.

Thanks,

/mjt
Re: [PULL 20/47] linux-user: Make sure initial brk(0) is page-aligned
Posted by Richard Henderson 2 years, 6 months ago
On 7/16/23 19:15, Michael Tokarev wrote:
> 15.07.2023 16:52, Richard Henderson wrote:
>> From: Andreas Schwab <schwab@suse.de>
>>
>> Fixes: 86f04735ac ("linux-user: Fix brk() to release pages")
>> Signed-off-by: Andreas Schwab <schwab@suse.de>
>> Message-Id: <mvmpm55qnno.fsf@suse.de>
>> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
>> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> 
> This smells like a stable-8.0 material.  Please let me know if it is not.

Yep.


r~


Re: [PULL 20/47] linux-user: Make sure initial brk(0) is page-aligned
Posted by Michael Tokarev 2 years, 6 months ago
17.07.2023 17:42, Richard Henderson пишет:
> On 7/16/23 19:15, Michael Tokarev wrote:
>> 15.07.2023 16:52, Richard Henderson wrote:
>>> From: Andreas Schwab <schwab@suse.de>
>>>
>>> Fixes: 86f04735ac ("linux-user: Fix brk() to release pages")
>>> Signed-off-by: Andreas Schwab <schwab@suse.de>
>>> Message-Id: <mvmpm55qnno.fsf@suse.de>
>>> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
>>> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
>>
>> This smells like a stable-8.0 material.  Please let me know if it is not.
> 
> Yep.

I postponed this one for now, given the patchset by Helge Deller, here
https://lists.nongnu.org/archive/html/qemu-devel/2023-07/msg03445.html
which reverts this very change as incorrect.

Thanks,

/mjt

Re: [PULL 20/47] linux-user: Make sure initial brk(0) is page-aligned
Posted by Michael Tokarev 2 years, 6 months ago
17.07.2023 17:42, Richard Henderson пишет:
> On 7/16/23 19:15, Michael Tokarev wrote:
>> 15.07.2023 16:52, Richard Henderson wrote:
>>> From: Andreas Schwab <schwab@suse.de>
>>>
>>> Fixes: 86f04735ac ("linux-user: Fix brk() to release pages")
>>> Signed-off-by: Andreas Schwab <schwab@suse.de>
>>> Message-Id: <mvmpm55qnno.fsf@suse.de>
>>> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
>>> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
>>
>> This smells like a stable-8.0 material.  Please let me know if it is not.
> 
> Yep.

FWIW, there was an attempt to fix another issue I posted about
yesterday, with libklibc-based apps on armhf, after "linux-user:
Reserve space for brk" commit, here:

   https://github.com/hdeller/qemu-hppa/commits/upx-fix

(which reverts this very commit).  But apparently it doesn't fix
that issue, libklibc-linked armhf apps still segfaults right at
startup.

This is jfyi, maybe this commit is just another temporary band-aid,
I dunno yet.  Yes it fixes real failures so it's already good.

Thanks,

/mjt