qemu/linux-user
Filip Bozuta b3a3af70c3 linux-user: Fix 'utimensat()' implementation
Implementation of syscall 'utimensat()' in 'syscall.c' uses functions
target_to_host/host_to_target_timespec() to convert values of
'struct timespec' between host and target. However, the implementation
doesn't check whether the conversion succeeds and thus can cause an
inappropriate error or succeed unappropriately instead of setting errno
EFAULT ('Bad address') which is supposed to be set in these cases.

This was confirmed with the LTP test for utimensat ('testcases/utimensat')
which fails for test cases when the errno EFAULT is expected. After changes
from this patch, the test passes for all test cases.

Signed-off-by: Filip Bozuta <Filip.Bozuta@syrmia.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20200811113101.6636-1-Filip.Bozuta@syrmia.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
2020-08-23 16:57:58 +02:00
..
aarch64 linux-user, aarch64: sync syscall numbers with kernel v5.5 2020-03-20 16:02:00 +01:00
alpha meson: linux-user 2020-08-21 06:30:38 -04:00
arm meson: linux-user 2020-08-21 06:30:38 -04:00
cris
generic linux-user: implement OFD locks 2020-06-05 21:23:22 +02:00
host
hppa meson: linux-user 2020-08-21 06:30:38 -04:00
i386 meson: linux-user 2020-08-21 06:30:38 -04:00
m68k meson: linux-user 2020-08-21 06:30:38 -04:00
microblaze meson: linux-user 2020-08-21 06:30:38 -04:00
mips meson: linux-user 2020-08-21 06:30:38 -04:00
mips64 meson: linux-user 2020-08-21 06:30:38 -04:00
nios2 linux-user, nios2: sync syscall numbers with kernel v5.5 2020-03-20 16:02:00 +01:00
openrisc linux-user, openrisc: sync syscall numbers with kernel v5.5 2020-03-20 16:02:00 +01:00
ppc meson: linux-user 2020-08-21 06:30:38 -04:00
riscv linux-user/riscv: fix up struct target_ucontext definition 2020-04-29 13:16:37 -07:00
s390x meson: linux-user 2020-08-21 06:30:38 -04:00
sh4 meson: linux-user 2020-08-21 06:30:38 -04:00
sparc meson: linux-user 2020-08-21 06:30:38 -04:00
sparc64 meson: linux-user 2020-08-21 06:30:38 -04:00
tilegx
x86_64 meson: linux-user 2020-08-21 06:30:38 -04:00
xtensa meson: linux-user 2020-08-21 06:30:38 -04:00
cpu_loop-common.h
elfload.c linux-user: don't use MAP_FIXED in pgd_find_hole_fallback 2020-07-27 09:41:18 +01:00
errno_defs.h
exit.c
fd-trans.c linux-user: add netlink RTM_SETLINK command 2020-07-13 21:26:33 +02:00
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-user: Add thunk argument types for SIOCGSTAMP and SIOCGSTAMPNS 2020-06-29 13:10:11 +02:00
linux_loop.h
linuxload.c
main.c linux-user: Ensure mmap_min_addr is non-zero 2020-07-27 22:02:40 +02:00
meson.build meson: linux-user 2020-08-21 06:30:38 -04:00
mmap.c linux-user: Adjust guest page protection for the host 2020-08-23 16:57:58 +02:00
qemu.h linux-user: Add strace support for printing arguments of ioctl() 2020-07-04 18:08:51 +02:00
safe-syscall.S
signal-common.h
signal.c linux-user: Use `qemu_log' for strace 2020-02-19 11:17:40 +01:00
socket.h
strace.c linux-user: Fix "print_fdset()" in "strace.c" to not print ", " after last value 2020-08-23 16:57:58 +02:00
strace.list linux-user: Add strace support for printing arguments of ioctl() 2020-07-04 18:08:51 +02:00
syscall_defs.h linux-user: Add support for a group of 2038 safe syscalls 2020-08-23 16:57:58 +02:00
syscall_types.h linux-user: Add thunk argument types for SIOCGSTAMP and SIOCGSTAMPNS 2020-06-29 13:10:11 +02:00
syscall.c linux-user: Fix 'utimensat()' implementation 2020-08-23 16:57:58 +02:00
target_flat.h
trace-events linux-user: fix use of SIGRTMIN 2020-02-12 18:56:41 +01:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
uaccess.c
uname.c
uname.h
vm86.c linux-user: Use `qemu_log' for non-strace logging 2020-02-19 11:17:40 +01:00