include/qemu/osdep.h | 3 --- linux-user/elfload.c | 1 - 2 files changed, 4 deletions(-)
In order for our emulation of MAP_FIXED_NOREPLACE to succeed within
linux-user target_mmap, we require a non-zero value. This does not
require host kernel support, merely the bit being defined.
MAP_FIXED_NOREPLACE was added with glibc 2.28. From repology.org:
Fedora 36: 2.35
CentOS 8 (RHEL-8): 2.28
Debian 11: 2.31
OpenSUSE Leap 15.4: 2.31
Ubuntu LTS 20.04: 2.31
Reported-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
include/qemu/osdep.h | 3 ---
linux-user/elfload.c | 1 -
2 files changed, 4 deletions(-)
diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
index cc61b00ba9..21ef8f1699 100644
--- a/include/qemu/osdep.h
+++ b/include/qemu/osdep.h
@@ -289,9 +289,6 @@ void QEMU_ERROR("code path is reachable")
#ifndef MAP_ANONYMOUS
#define MAP_ANONYMOUS MAP_ANON
#endif
-#ifndef MAP_FIXED_NOREPLACE
-#define MAP_FIXED_NOREPLACE 0
-#endif
#ifndef MAP_NORESERVE
#define MAP_NORESERVE 0
#endif
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index 36e4026f05..9d9c79a653 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -2807,7 +2807,6 @@ static void pgb_reserved_va(const char *image_name, abi_ulong guest_loaddr,
/* Widen the "image" to the entire reserved address space. */
pgb_static(image_name, 0, reserved_va, align);
- /* osdep.h defines this as 0 if it's missing */
flags |= MAP_FIXED_NOREPLACE;
/* Reserve the memory on the host. */
--
2.34.1
08.08.2023 19:44, Richard Henderson пишет: > In order for our emulation of MAP_FIXED_NOREPLACE to succeed within > linux-user target_mmap, we require a non-zero value. This does not > require host kernel support, merely the bit being defined. Hm. Should we add something like assert(MAP_FIXED_NOREPLACE != 0) somewhere? /mjt
On 8/8/23 20:50, Michael Tokarev wrote: > 08.08.2023 19:44, Richard Henderson пишет: >> In order for our emulation of MAP_FIXED_NOREPLACE to succeed within >> linux-user target_mmap, we require a non-zero value. This does not >> require host kernel support, merely the bit being defined. > > Hm. Should we add something like > > assert(MAP_FIXED_NOREPLACE != 0) > > somewhere? I wouldn't think so. Where would a zero come from? r~
On 2023/08/09 1:44, Richard Henderson wrote: > In order for our emulation of MAP_FIXED_NOREPLACE to succeed within > linux-user target_mmap, we require a non-zero value. This does not > require host kernel support, merely the bit being defined. > > MAP_FIXED_NOREPLACE was added with glibc 2.28. From repology.org: > > Fedora 36: 2.35 > CentOS 8 (RHEL-8): 2.28 > Debian 11: 2.31 > OpenSUSE Leap 15.4: 2.31 > Ubuntu LTS 20.04: 2.31 > > Reported-by: Akihiko Odaki <akihiko.odaki@daynix.com> > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Richard Henderson <richard.henderson@linaro.org> writes: > In order for our emulation of MAP_FIXED_NOREPLACE to succeed within > linux-user target_mmap, we require a non-zero value. This does not > require host kernel support, merely the bit being defined. > > MAP_FIXED_NOREPLACE was added with glibc 2.28. From repology.org: > > Fedora 36: 2.35 > CentOS 8 (RHEL-8): 2.28 > Debian 11: 2.31 > OpenSUSE Leap 15.4: 2.31 > Ubuntu LTS 20.04: 2.31 > > Reported-by: Akihiko Odaki <akihiko.odaki@daynix.com> > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> -- Alex Bennée Virtualisation Tech Lead @ Linaro
© 2016 - 2024 Red Hat, Inc.