qemu-e2k/linux-user
Peter Maydell 5ea2fc84da linux-user: Sanity check clone flags
We currently make no checks on the flags passed to the clone syscall,
which means we will not fail clone attempts which ask for features
that we can't implement. Add sanity checking of the flags to clone
(which we were already doing in the "this is a fork" path, but not
for the "this is a new thread" path), tidy up the checking in
the fork path to match it, and check that the fork case isn't trying
to specify a custom termination signal.

This is helpful in causing some LTP test cases to fail cleanly
rather than behaving bizarrely when we let the clone succeed
but didn't provide the semantics requested by the flags.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
2016-09-21 22:14:27 +03:00
..
aarch64 linux-user: AArch64 has sync_file_range, not sync_file_range2 2016-07-19 16:18:11 +03:00
alpha linux-user: Clean up target_structs.h header guards 2016-07-12 16:19:16 +02:00
arm linux-user: Use correct target SHMLBA in shmat() 2016-09-21 14:28:52 +03:00
cris linux-user: Clean up target_structs.h header guards 2016-07-12 16:19:16 +02:00
host linux-user: Clean up hostdep.h header guards 2016-07-12 16:19:16 +02:00
i386 linux-user: Clean up target_structs.h header guards 2016-07-12 16:19:16 +02:00
m68k linux-user: Clean up target_structs.h header guards 2016-07-12 16:19:16 +02:00
microblaze linux-user: Clean up target_structs.h header guards 2016-07-12 16:19:16 +02:00
mips linux-user: Use correct target SHMLBA in shmat() 2016-09-21 14:28:52 +03:00
mips64 linux-user: Use correct target SHMLBA in shmat() 2016-09-21 14:28:52 +03:00
openrisc linux-user: Clean up target_structs.h header guards 2016-07-12 16:19:16 +02:00
ppc linux-user: Clean up target_structs.h header guards 2016-07-12 16:19:16 +02:00
s390x linux-user: Clean up target_structs.h header guards 2016-07-12 16:19:16 +02:00
sh4 linux-user: Use correct target SHMLBA in shmat() 2016-09-21 14:28:52 +03:00
sparc linux-user: Use correct target SHMLBA in shmat() 2016-09-21 14:28:52 +03:00
sparc64 linux-user: Clean up target_structs.h header guards 2016-07-12 16:19:16 +02:00
tilegx Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
unicore32 linux-user: Clean up target_structs.h header guards 2016-07-12 16:19:16 +02:00
x86_64 linux-user: Fix target_semid_ds structure definition 2016-08-04 16:36:53 +03:00
Makefile.objs linux-user: Provide safe_syscall for fixing races between signals and syscalls 2016-05-27 14:49:51 +03:00
elfload.c linux-user: Use glib malloc functions in load_symbols() 2016-09-21 14:28:20 +03:00
errno_defs.h linux-user: Renumber TARGET_QEMU_ESIGRETURN, make it not arch-specific 2016-05-27 14:49:49 +03: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: Fix error handling in flatload.c target_pread() 2016-09-21 14:27:19 +03:00
ioctls.h linux-user: Implement FS_IOC_GETFLAGS and FS_IOC_SETFLAGS ioctls 2016-09-21 14:24:47 +03: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: Pass si_type information to queue_signal() explicitly 2016-09-21 22:01:28 +03:00
mmap.c os-posix: include sys/mman.h 2016-06-16 18:39:03 +02:00
qemu.h linux-user: Pass si_type information to queue_signal() explicitly 2016-09-21 22:01:28 +03: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.c linux-user: Implement force_sigsegv() via force_sig() 2016-09-21 22:01:45 +03:00
socket.h linux-user: support SO_PASSSEC setsockopt option 2014-06-29 14:19:59 +03:00
strace.c linux-user: report signals being taken in strace output 2016-09-21 14:25:59 +03:00
strace.list linux-user: update get_thread_area/set_thread_area strace 2016-06-26 13:17:21 +03:00
syscall.c linux-user: Sanity check clone flags 2016-09-21 22:14:27 +03:00
syscall_defs.h linux-user: Check for bad event numbers in epoll_wait 2016-09-21 14:25:26 +03:00
syscall_types.h linux-user: Correct type for LOOP_GET_STATUS{,64} ioctls 2016-07-19 15:23:16 +03: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 first line comment in trace-events 2016-08-12 10:36:01 +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