On 7/18/23 05:03, Song Gao wrote:
Hi, Helge
Could you see the following bugs:
https://gitlab.com/qemu-project/qemu/-/issues/1707
This issue is also caused by the commit 86f04735ac.
I don't have access to such a box (and on an arm64 debian porterbox
I get unmet build dependencies, e.g. for gcc-powerpc64-linux-gnu).
If you can provide me with access to a machine I can test,
otherwise you may simply check out:
git pull https://github.com/hdeller/qemu-hppa.git linux-user-brk-fixes
and test yourself.
Helge
Thanks.
Song Gao
在 2023/7/18 上午5:35, Helge Deller 写道:
Commit 86f04735ac ("linux-user: Fix brk() to release pages") introduced the
possibility for userspace applications to reduce memory footprint by calling
brk() with a lower address and free up memory.
This change introduced some failures for applications with errors like
- accesing bytes above the brk heap address on the same page,
- freeing memory below the initial brk address,
and introduced a behaviour which isn't done by the kernel (e.g. zeroing
memory above brk).
This patch set fixes those issues and have been tested with existing
programs (e.g. upx).
Additionally it includes one patch to allow running static armhf executables
(e.g. fstype) which was broken since qemu-8.0.
Helge
Helge Deller (6):
Revert "linux-user: Make sure initial brk(0) is page-aligned"
linux-user: Fix qemu brk() to not zero bytes on current page
linux-user: Prohibit brk() to to shrink below initial heap address
linux-user: Fix signed math overflow in brk() syscall
linux-user: Fix strace output for old_mmap
linux-user: Fix qemu-arm to run static armhf binaries
linux-user/elfload.c | 7 +++++++
linux-user/strace.c | 49 ++++++++++++++++++++++++++++++++++++++++----
linux-user/syscall.c | 25 +++++++++++++---------
3 files changed, 67 insertions(+), 14 deletions(-)
--
2.41.0