qemu-e2k/linux-user
Alex Bennée 8ef618859c linux-user: detect overflow of MAP_FIXED mmap
Relaxing the restrictions on 64 bit guests leads to the user being
able to attempt to map right at the edge of addressable memory. This
in turn lead to address overflow tripping the assert in page_set_flags
when the end address wrapped around.

Detect the wrap earlier and correctly -ENOMEM the guest (in the
reported case LTP mmap15).

Fixes: 7d8cbbabcb
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reported-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20200605154929.26910-15-alex.bennee@linaro.org>
2020-06-08 17:04:19 +01:00
..
aarch64
alpha
arm linux-user/arm/signal.c: Drop TARGET_CONFIG_CPU_32 2020-05-21 22:05:27 +01:00
cris
generic linux-user: implement OFD locks 2020-06-05 21:23:22 +02:00
host
hppa
i386 linux-user/i386: Emulate x86_64 vsyscalls 2020-03-26 08:08:54 +01:00
m68k
microblaze
mips
mips64
nios2
openrisc linux-user, openrisc: sync syscall numbers with kernel v5.5 2020-03-20 16:02:00 +01:00
ppc target/ppc: Add support for scv and rfscv instructions 2020-05-27 15:29:24 +10:00
riscv linux-user/riscv: fix up struct target_ucontext definition 2020-04-29 13:16:37 -07:00
s390x
sh4
sparc
sparc64
tilegx
x86_64
xtensa
cpu_loop-common.h
elfload.c linux-user: deal with address wrap for ARM_COMMPAGE on 32 bit 2020-06-08 17:04:19 +01:00
errno_defs.h
exit.c
fd-trans.c
fd-trans.h
flat.h
flatload.c linux-user: completely re-write init_guest_space 2020-05-15 15:25:16 +01:00
ioctls.h
linux_loop.h
linuxload.c
main.c exec/cpu-all: Use bool for have_guest_base 2020-05-15 15:25:16 +01:00
Makefile.objs
mmap.c linux-user: detect overflow of MAP_FIXED mmap 2020-06-08 17:04:19 +01:00
qemu.h linux-user: completely re-write init_guest_space 2020-05-15 15:25:16 +01:00
safe-syscall.S
signal-common.h
signal.c
socket.h
strace.c
strace.list linux-user/strace.list: fix epoll_create{,1} -strace output 2020-06-05 21:23:22 +02:00
syscall_defs.h
syscall_types.h
syscall.c linux-user pull request 20200605-v2 2020-06-08 11:04:57 +01:00
target_flat.h
trace-events
uaccess.c
uname.c
uname.h
vm86.c