qemu/linux-user
Andreas Schwab cd8133679f linux-user: fix emulation of accept4/getpeername/getsockname/recvfrom syscalls
System calls that return a socket address do so by writing the (possibly
truncated) address into the provided buffer space, but setting the
addrlen parameter to the actual size of the address.  To determine how
much to copy back to the target memory the emulation needs to remember
the incoming value of the addrlen parameter, so that it doesn't write
past the buffer limits.

Signed-off-by: Andreas Schwab <schwab@suse.de>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <mvmimxmppcj.fsf_-_@suse.de>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
2019-03-07 10:57:29 +01:00
..
aarch64 linux-user: Implement PR_PAC_RESET_KEYS 2019-02-05 16:52:39 +00:00
alpha linux-user: Don't call gdb_handlesig() before queue_signal() 2018-11-12 15:48:00 +01:00
arm linux-user: Don't call gdb_handlesig() before queue_signal() 2018-11-12 15:48:00 +01:00
cris linux-user: Don't call gdb_handlesig() before queue_signal() 2018-11-12 15:48:00 +01:00
generic linux-user: move generic signal definitions to generic/signal.h 2018-06-04 01:30:44 +02:00
host linux-user: Add safe_syscall for riscv64 host 2018-12-26 06:40:02 +11:00
hppa linux-user: Don't call gdb_handlesig() before queue_signal() 2018-11-12 15:48:00 +01:00
i386 linux-user: Don't call gdb_handlesig() before queue_signal() 2018-11-12 15:48:00 +01:00
m68k target/m68k: Fix LGPL information in the file headers 2019-01-30 14:20:13 +01:00
microblaze linux-user: Don't call gdb_handlesig() before queue_signal() 2018-11-12 15:48:00 +01:00
mips target/mips: reimplement SC instruction emulation and use cmpxchg 2019-02-14 17:47:28 +01:00
mips64 linux-user: Add prctl() PR_SET_FP_MODE and PR_GET_FP_MODE implementations 2018-10-29 15:50:31 +01:00
nios2 linux-user: Clean up nios2 main loop signal handling 2018-11-12 16:02:10 +01:00
openrisc linux-user: Don't call gdb_handlesig() before queue_signal() 2018-11-12 15:48:00 +01:00
ppc target/ppc: move FP and VMX registers into aligned vsr register array 2019-01-09 09:28:14 +11:00
riscv RISC-V: Use riscv prefix consistently on cpu helpers 2019-02-11 15:56:21 -08:00
s390x s390x: Fix the confusing contributions-after-2012 license statements 2019-02-18 11:25:43 +01:00
sh4 linux-user: Don't call gdb_handlesig() before queue_signal() 2018-11-12 15:48:00 +01:00
sparc linux-user/sparc/signal.c: Remove dead code 2018-11-15 13:06:40 +00: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 remove space-tab sequences 2019-01-11 15:46:55 +01:00
xtensa linux-user: Don't call gdb_handlesig() before queue_signal() 2018-11-12 15:48:00 +01: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_PLATFORM for aarch64_be-linux-user 2019-03-07 10:57:29 +01: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
fd-trans.c linux-user: add new netlink types 2019-02-07 14:11:19 +01:00
fd-trans.h linux-user: move TargetFdTrans functions to their own file 2018-09-25 22:36:47 +02: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/flatload: fix initial stack pointer alignment 2018-10-30 11:23:32 -07:00
ioctls.h linux-user: Implement special usbfs ioctls. 2018-10-19 14:05:10 +02:00
linux_loop.h linux-user: Add loop control ioctls 2016-07-19 15:22:33 +03:00
linuxload.c avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
m68k-sim.c linux-user: Clean up includes 2016-01-29 15:07:22 +00:00
main.c avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
Makefile.objs linux-user: move TargetFdTrans functions to their own file 2018-09-25 22:36:47 +02:00
mmap.c avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
qemu.h linux-user: Fix compilation with clang 3.4 2019-01-22 06:26:31 +01: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 avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
socket.h linux-user: update ARCH_HAS_SOCKET_TYPES use 2018-05-25 10:10:55 +02:00
strace.c avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
strace.list linux-user/strace: Improve recvmsg() output 2018-07-03 16:27:15 +02:00
syscall.c linux-user: fix emulation of accept4/getpeername/getsockname/recvfrom syscalls 2019-03-07 10:57:29 +01:00
syscall_defs.h remove space-tab sequences 2019-01-11 15:46:55 +01:00
syscall_types.h linux-user: Implement special usbfs ioctls. 2018-10-19 14:05:10 +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 avoid TABs in files that only contain a few 2019-01-11 15:46:56 +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 avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00