merge newfstat variants
[trinity.git] / syscalls / clone.c
blobf79eb6ecc36744e3933e527dcdb9ed2577f07f8f
1 /*
2 * long sys_clone(unsigned long clone_flags, unsigned long newsp,
3 void __user *parent_tid, void __user *child_tid, struct pt_regs *regs)
4 * On success, the thread ID of the child process is returned in the caller's thread of execution.
5 * On failure, -1 is returned in the caller's context, no child process will be created, and errno will be set appropriately.
6 */
8 #include <linux/sched.h>
9 #include "sanitise.h"
11 struct syscallentry syscall_clone = {
12 .name = "clone",
13 .num_args = 5,
14 .flags = AVOID_SYSCALL,
15 .arg1name = "clone_flags",
16 .arg1type = ARG_LIST,
17 .arg1list = {
18 .num = 23,
19 .values = { CSIGNAL,
20 CLONE_VM, CLONE_FS, CLONE_FILES, CLONE_SIGHAND,
21 CLONE_PTRACE, CLONE_VFORK, CLONE_PARENT, CLONE_THREAD,
22 CLONE_NEWNS, CLONE_SYSVSEM, CLONE_SETTLS, CLONE_PARENT_SETTID,
23 CLONE_CHILD_CLEARTID, CLONE_DETACHED, CLONE_UNTRACED, CLONE_CHILD_SETTID,
24 CLONE_NEWUTS, CLONE_NEWIPC, CLONE_NEWUSER, CLONE_NEWPID,
25 CLONE_NEWNET, CLONE_IO },
27 .arg2name = "newsp",
28 .arg2type = ARG_ADDRESS,
29 .arg3name = "parent_tid",
30 .arg3type = ARG_ADDRESS,
31 .arg4name = "child_tid",
32 .arg4type = ARG_ADDRESS,
33 .arg5name = "regs",
34 .arg5type = ARG_ADDRESS,
35 .rettype = RET_PID_T,