diff options
Diffstat (limited to 'gitlab/issues/target_missing/host_missing/accel_missing/1650.toml')
| -rw-r--r-- | gitlab/issues/target_missing/host_missing/accel_missing/1650.toml | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gitlab/issues/target_missing/host_missing/accel_missing/1650.toml b/gitlab/issues/target_missing/host_missing/accel_missing/1650.toml new file mode 100644 index 00000000..9f06794f --- /dev/null +++ b/gitlab/issues/target_missing/host_missing/accel_missing/1650.toml @@ -0,0 +1,22 @@ +id = 1650 +title = "Consider doing runtime detection of MAP_FIXED_NOREPLACE" +state = "closed" +created_at = "2023-05-14T03:21:41.028Z" +closed_at = "2023-05-14T03:46:50.136Z" +labels = [] +url = "https://gitlab.com/qemu-project/qemu/-/issues/1650" +host-os = "AOSC OS 10.1.1 \"Jinkela\"" +host-arch = "amd64" +qemu-version = "7.2.0" +guest-os = "n/a" +guest-arch = "n/a" +description = """``` +qemu-i386-static: Unable to reserve 0xfffff000 bytes of virtual address space at 0x1000 (Operation not supported) for use as guest address space (check your virtual memory ulimit setting, min_mmap_addr or reserve less using -R option) +``` +strace says +``` + mmap(0x1000, 4294963200, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE|MAP_FIXED_NOREPLACE, -1, 0) = -1 EOPNOTSUPP (Operation not supported) +```""" +reproduce = """1. `apt install qemu-i386-static 32subsystem` +2. `strace qemu-i386-static /opt/32/bin/as`""" +additional = """Repeating the strace call in a minimal C program gives the same errno as expected -- the kernel is only 4.4. The problem here is that qemu only does `MAP_FIXED_NOREPLACE` feature detection at build-time via a `#ifndef` and even that behavior is poorly documented. Maybe do something at runtime?""" |