diff options
Diffstat (limited to 'results/classifier/105/instruction/1650')
| -rw-r--r-- | results/classifier/105/instruction/1650 | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/results/classifier/105/instruction/1650 b/results/classifier/105/instruction/1650 new file mode 100644 index 000000000..a0b363193 --- /dev/null +++ b/results/classifier/105/instruction/1650 @@ -0,0 +1,27 @@ +instruction: 0.934 +device: 0.836 +graphic: 0.772 +network: 0.750 +semantic: 0.731 +other: 0.692 +vnc: 0.487 +mistranslation: 0.424 +boot: 0.348 +socket: 0.283 +KVM: 0.226 +assembly: 0.120 + +Consider doing runtime detection of MAP_FIXED_NOREPLACE +Description of problem: +``` +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) +``` +Steps to reproduce: +1. `apt install qemu-i386-static 32subsystem` +2. `strace qemu-i386-static /opt/32/bin/as` +Additional information: +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? |