diff options
| author | Russell King <rmk@flint.arm.linux.org.uk> | 2002-09-29 19:12:05 +0100 |
|---|---|---|
| committer | Russell King <rmk@flint.arm.linux.org.uk> | 2002-09-29 19:12:05 +0100 |
| commit | 3a8fb2567869eb19457ccfc8aac837355f005f2e (patch) | |
| tree | 3b3e9d6e164141e45c0cac8fcc6e539af3128b00 /arch/arm/kernel/sys_arm.c | |
| parent | 82e48db036cf5fc2323bd6c5eb68158750487ed8 (diff) | |
[ARM] 2.5.34 update
Update for changes in mainline 2.5.3[01234].
Diffstat (limited to 'arch/arm/kernel/sys_arm.c')
| -rw-r--r-- | arch/arm/kernel/sys_arm.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/arch/arm/kernel/sys_arm.c b/arch/arm/kernel/sys_arm.c index 34713adaf4dc..47f4ff685a19 100644 --- a/arch/arm/kernel/sys_arm.c +++ b/arch/arm/kernel/sys_arm.c @@ -239,7 +239,7 @@ asmlinkage int sys_ipc (uint call, int first, int second, int third, void *ptr, asmlinkage int sys_fork(struct pt_regs *regs) { struct task_struct *p; - p = do_fork(SIGCHLD, regs->ARM_sp, regs, 0); + p = do_fork(SIGCHLD, regs->ARM_sp, regs, 0, NULL); return IS_ERR(p) ? PTR_ERR(p) : p->pid; } @@ -249,16 +249,25 @@ asmlinkage int sys_fork(struct pt_regs *regs) asmlinkage int sys_clone(unsigned long clone_flags, unsigned long newsp, struct pt_regs *regs) { struct task_struct *p; + + /* + * We don't support SETTID / CLEARTID + */ + if (clone_flags & (CLONE_SETTID | CLONE_CLEARTID)) + return -EINVAL; + if (!newsp) newsp = regs->ARM_sp; - p = do_fork(clone_flags & ~CLONE_IDLETASK, newsp, regs, 0); + + p = do_fork(clone_flags & ~CLONE_IDLETASK, newsp, regs, 0, NULL); + return IS_ERR(p) ? PTR_ERR(p) : p->pid; } asmlinkage int sys_vfork(struct pt_regs *regs) { struct task_struct *p; - p = do_fork(CLONE_VFORK | CLONE_VM | SIGCHLD, regs->ARM_sp, regs, 0); + p = do_fork(CLONE_VFORK | CLONE_VM | SIGCHLD, regs->ARM_sp, regs, 0, NULL); return IS_ERR(p) ? PTR_ERR(p) : p->pid; } |
