qemu/linux-user
Laurent Vivier 2a03d3e6ae linux-user: fix recvmsg()/recvfrom() with netlink and MSG_TRUNC
If recvmsg()/recvfrom() are used with the MSG_TRUNC flag, they return the
real length even if it was longer than the passed buffer.
So when we translate the buffer we must check we don't go beyond the
end of the buffer.

Bug: https://github.com/vivier/qemu-m68k/issues/33
Reported-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20180820171557.7734-2-laurent@vivier.eu>
2018-08-20 22:03:49 +02:00
..
aarch64 linux-user: move generic signal definitions to generic/signal.h 2018-06-04 01:30:44 +02:00
alpha linux-user: Report error message on stderr, rather than stdout 2018-07-09 00:52:50 +02:00
arm linux-user: move generic signal definitions to generic/signal.h 2018-06-04 01:30:44 +02:00
cris linux-user: Report error message on stderr, rather than stdout 2018-07-09 00:52:50 +02:00
generic linux-user: move generic signal definitions to generic/signal.h 2018-06-04 01:30:44 +02:00
host linux-user: ppc64: don't use volatile register during safe_syscall 2018-07-31 09:57:43 +02:00
hppa linux-user/hppa: Fix typo in mknodat syscall 2018-06-11 14:45:44 +02:00
i386 linux-user: move generic signal definitions to generic/signal.h 2018-06-04 01:30:44 +02:00
m68k linux-user: move generic signal definitions to generic/signal.h 2018-06-04 01:30:44 +02:00
microblaze linux-user: Report error message on stderr, rather than stdout 2018-07-09 00:52:50 +02:00
mips linux-user: Update MIPS syscall numbers up to kernel 4.18 headers 2018-08-16 19:18:45 +02:00
mips64 linux-user: Update MIPS syscall numbers up to kernel 4.18 headers 2018-08-16 19:18:45 +02:00
nios2 linux-user: Do not report "syscall not implemented" by default 2018-07-09 00:52:04 +02:00
openrisc linux-user: Fix struct sigaltstack for openrisc 2018-07-03 22:40:33 +09:00
ppc linux-user/ppc: Implement swapcontext syscall 2018-07-22 21:33:45 +02:00
riscv linux-user: move generic signal definitions to generic/signal.h 2018-06-04 01:30:44 +02:00
s390x linux-user: move generic signal definitions to generic/signal.h 2018-06-04 01:30:44 +02:00
sh4 linux-user: Report error message on stderr, rather than stdout 2018-07-09 00:52:50 +02:00
sparc linux-user: Report error message on stderr, rather than stdout 2018-07-09 00:52:50 +02:00
sparc64 linux-user/sparc64: Add inotify_rm_watch and tee syscalls 2018-06-11 14:47:45 +02:00
tilegx linux-user: move generic signal definitions to generic/signal.h 2018-06-04 01:30:44 +02:00
x86_64 linux-user: move generic signal definitions to generic/signal.h 2018-06-04 01:30:44 +02:00
xtensa linux-user: move generic signal definitions to generic/signal.h 2018-06-04 01:30:44 +02:00
cpu_loop-common.h linux-user: create a dummy per arch cpu_loop.c 2018-04-30 09:47:55 +02:00
elfload.c linux-user: fix ELF load alignment error 2018-07-22 21:32:50 +02:00
errno_defs.h linux-user: Handle ERFKILL and EHWPOISON 2017-01-22 18:14:10 -08:00
exit.c linux-user: add gcov support to preexit_cleanup 2018-07-05 15:59:41 +01:00
flat.h Support for 32 bit ABI on 64 bit targets (only enabled Sparc64) 2007-10-14 16:27:31 +00:00
flatload.c linux-user: Use is_error() to avoid warnings and make the code clearer 2018-06-11 14:40:11 +02:00
ioctls.h linux-user: Implement ioctl cmd TIOCGPTPEER 2018-02-18 18:52:32 +01:00
linux_loop.h linux-user: Add loop control ioctls 2016-07-19 15:22:33 +03:00
linuxload.c linux-user: Clean up includes 2016-01-29 15:07:22 +00:00
m68k-sim.c linux-user: Clean up includes 2016-01-29 15:07:22 +00:00
main.c linux-user: fix mmap_find_vma_reserved() 2018-07-15 16:01:31 +02:00
Makefile.objs linux-user: introduce preexit_cleanup 2018-07-05 15:59:41 +01:00
mmap.c linux-user/mmap.c: handle invalid len maps correctly 2018-07-31 09:57:25 +02:00
qemu.h linux-user/ppc: Implement swapcontext syscall 2018-07-22 21:33:45 +02:00
safe-syscall.S linux-user: Provide safe_syscall for fixing races between signals and syscalls 2016-05-27 14:49:51 +03:00
signal-common.h linux-user: introduce target_sigsp() and target_save_altstack() 2018-05-03 18:29:15 +02:00
signal.c linux-user: Implement signals for openrisc 2018-07-03 22:40:33 +09:00
socket.h linux-user: update ARCH_HAS_SOCKET_TYPES use 2018-05-25 10:10:55 +02:00
strace.c linux-user: Add preprocessor availability control to some syscalls 2018-08-16 19:18:45 +02:00
strace.list linux-user/strace: Improve recvmsg() output 2018-07-03 16:27:15 +02:00
syscall_defs.h linux-user: remove useless #if 2018-06-04 01:30:44 +02:00
syscall_types.h linux-user: Add FICLONE and FICLONERANGE ioctls 2017-02-16 15:29:30 +01:00
syscall.c linux-user: fix recvmsg()/recvfrom() with netlink and MSG_TRUNC 2018-08-20 22:03:49 +02:00
target_flat.h linux-user/FLAT: allow targets to override FLAT processing 2011-02-09 10:33:54 +02:00
trace-events trace-events: fix code style: print 0x before hex numbers 2017-08-01 12:13:07 +01:00
uaccess.c util: move declarations out of qemu-common.h 2016-03-22 22:20:17 +01:00
uname.c linux-user: Clean up includes 2016-01-29 15:07:22 +00:00
uname.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
vm86.c linux-user: Clean up includes 2016-01-29 15:07:22 +00:00