You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qemu/linux-user
Peter Maydell 0db2de22fc linux-user: permit sendto() with NULL buf and 0 len
If you pass sendto() a NULL buffer, this is usually an error
(causing an EFAULT return); however if you pass a 0 length then
we should not try to validate the buffer provided. Instead we
skip the copying of the user data and possible processing
through fd_trans_target_to_host_data, and call the host syscall
with NULL, 0.

(unlock_user() permits a NULL buffer pointer for "do nothing"
so we don't need to special case the unlock code.)

Cc: qemu-stable@nongnu.org
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/3102
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20251028142001.3011630-1-peter.maydell@linaro.org>
1 month ago
..
aarch64 linux-user/aarch64: Enable GCS in HWCAP 2 months ago
alpha target/alpha: Simplify call_pal implementation 2 months ago
arm accel/tcg: Add clear_flags argument to page_set_flags 2 months ago
generic linux-user: Move TARGET_SA_RESTORER out of generic/signal.h 10 months ago
hexagon linux-user/hexagon: Use an array for GPRs 2 months ago
hppa accel/tcg: Add clear_flags argument to page_set_flags 2 months ago
i386 linux-user: Populate sigreturn_region_{start,end} in all vdso.S 2 months ago
include linux-user: cleanup unused linux-user/include/host directories 2 years ago
loongarch64 linux-user: Populate sigreturn_region_{start,end} in all vdso.S 2 months ago
m68k bsd-user, linux-user: introduce qemu_process_cpu_events 3 months ago
microblaze linux-user/microblaze: Fix little-endianness binary 2 months ago
mips bsd-user, linux-user: introduce qemu_process_cpu_events 3 months ago
mips64 linux-user: Standardize on ELF_MACHINE not ELF_ARCH 3 months ago
openrisc bsd-user, linux-user: introduce qemu_process_cpu_events 3 months ago
ppc linux-user: Populate sigreturn_region_{start,end} in all vdso.S 2 months ago
riscv linux-user: Populate sigreturn_region_{start,end} in all vdso.S 2 months ago
s390x linux-user: Populate sigreturn_region_{start,end} in all vdso.S 2 months ago
sh4 bsd-user, linux-user: introduce qemu_process_cpu_events 3 months ago
sparc bsd-user, linux-user: introduce qemu_process_cpu_events 3 months ago
x86_64 accel/tcg: Add clear_flags argument to page_set_flags 2 months ago
xtensa bsd-user, linux-user: introduce qemu_process_cpu_events 3 months ago
elfload.c linux-user: Support MADV_DONTDUMP, MADV_DODUMP 2 months ago
errnos.c.inc linux-user: Simplify host <-> target errno conversion using macros 4 years ago
exit.c accel/tcg: Move perf and debuginfo support to tcg/ 2 years ago
fd-trans.c linux-user: netlink: Add missing QEMU_IFLA entries 10 months ago
fd-trans.h linux-user: Hold the fd-trans lock across fork 5 months ago
flat.h linux-user/flatload.c: Remove unused bFLT shared-library and ZFLAT code 2 years ago
flatload.c include/exec: Split out mmap-lock.h 8 months ago
gen-vdso-elfn.c.inc linux-user: Create vdso_sigreturn_region_{start,end} 2 months ago
gen-vdso.c linux-user: Create vdso_sigreturn_region_{start,end} 2 months ago
ioctls.h linux-user: Use correct type for FIBMAP and FIGETBSZ emulation 1 month ago
linux_loop.h linux-user: implement more loop ioctls 4 years ago
linuxload.c linux-user: Create do_init_main_thread 3 months ago
loader.h linux-user: Create vdso_sigreturn_region_{start,end} 2 months ago
main.c linux-user: Add syscall dispatch support 2 months ago
meson.build plugins: fix inclusion of user-mode APIs 5 months ago
mmap.c linux-user: Support MADV_DONTDUMP, MADV_DODUMP 2 months ago
plugin-api.c plugins: fix inclusion of user-mode APIs 5 months ago
qemu.h linux-user/aarch64: Implement prctls for GCS 2 months ago
semihost.c semihosting: Remove qemu_semihosting_console_outs 3 years ago
signal-common.h linux-user: Add syscall dispatch support 2 months ago
signal.c linux-user: Create vdso_sigreturn_region_{start,end} 2 months ago
socket.h Supply missing header guards 7 years ago
strace.c linux-user: avoid -Werror=int-in-bool-context 2 months ago
strace.h linux-user: Have do_syscall() use CPUArchState* instead of void* 4 years ago
strace.list linux-user: Add strace for rseq 3 months ago
syscall.c linux-user: permit sendto() with NULL buf and 0 len 1 month ago
syscall_defs.h linux-user: Add syscall dispatch support 2 months ago
syscall_types.h linux-user: Add FITRIM ioctl 2 years ago
thunk.c user: Move 'thunk.h' from 'exec/user' to 'user' 2 years ago
trace-events linux-user: Rename user_force_sig tracepoint to match function name 4 years ago
trace.h trace: switch position of headers to what Meson requires 5 years ago
uaccess.c meson: Make DEBUG_REMAP a meson option 2 years ago
uname.c linux-user: Remove pointless CPU{ARCH}State casts 4 years ago
uname.h linux-user: Have do_syscall() use CPUArchState* instead of void* 4 years ago
user-internals.h linux-user: Split out begin_parallel_context 2 months ago
user-mmap.h user: Extract common MMAP API to 'user/mmap.h' 9 months ago
vm86.c linux-user/vm86: Fix compilation with Clang 1 year ago