On 8/1/23 16:27, Helge Deller wrote:
From: Akihiko Odaki <akihiko.od...@daynix.com>
Passing MAP_FIXED_NOREPLACE to host will fail if the virtual
address space is reserved with mmap. Replace it with MAP_FIXED.
Signed-off-by: Akihiko Odaki <akihiko.od...@daynix.com>
Reviewed-by: Helge Deller <del...@gmx.de>
Signed-off-by: Helge Deller <del...@gmx.de>
---
linux-user/mmap.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/linux-user/mmap.c b/linux-user/mmap.c
index a5dfb56545..2f26cbaf5d 100644
--- a/linux-user/mmap.c
+++ b/linux-user/mmap.c
@@ -610,6 +610,8 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int
target_prot,
goto fail;
}
+ flags = (flags & ~MAP_FIXED_NOREPLACE) | MAP_FIXED;
Again, this must be restricted to reserved_va == 0 or 64-bit guests will fail.
r~
+
/*
* worst case: we cannot map the file because the offset is not
* aligned, so we read it
--
2.41.0