2 * Copyright (C) 2000 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
3 * Licensed under the GPL
6 #include "linux/file.h"
9 #include "linux/sched.h"
10 #include "linux/utsname.h"
11 #include "linux/syscalls.h"
12 #include "asm/current.h"
14 #include "asm/uaccess.h"
15 #include "asm/unistd.h"
22 current
->thread
.forking
= 1;
23 ret
= do_fork(SIGCHLD
, UPT_SP(¤t
->thread
.regs
.regs
),
24 ¤t
->thread
.regs
, 0, NULL
, NULL
);
25 current
->thread
.forking
= 0;
33 current
->thread
.forking
= 1;
34 ret
= do_fork(CLONE_VFORK
| CLONE_VM
| SIGCHLD
,
35 UPT_SP(¤t
->thread
.regs
.regs
),
36 ¤t
->thread
.regs
, 0, NULL
, NULL
);
37 current
->thread
.forking
= 0;
41 long old_mmap(unsigned long addr
, unsigned long len
,
42 unsigned long prot
, unsigned long flags
,
43 unsigned long fd
, unsigned long offset
)
46 if (offset
& ~PAGE_MASK
)
49 err
= sys_mmap_pgoff(addr
, len
, prot
, flags
, fd
, offset
>> PAGE_SHIFT
);
54 int kernel_execve(const char *filename
,
55 const char *const argv
[],
56 const char *const envp
[])
63 ret
= um_execve(filename
, (const char __user
*const __user
*)argv
,
64 (const char __user
*const __user
*) envp
);