asmlinkage int m68k_fork(struct pt_regs *regs)
{
struct task_struct *p;
- p = do_fork(SIGCHLD, rdusp(), regs, 0);
+ p = do_fork(SIGCHLD, rdusp(), regs, 0, NULL);
return IS_ERR(p) ? PTR_ERR(p) : p->pid;
}
asmlinkage int m68k_vfork(struct pt_regs *regs)
{
struct task_struct *p;
- p = do_fork(CLONE_VFORK | CLONE_VM | SIGCHLD, rdusp(), regs, 0);
+ p = do_fork(CLONE_VFORK | CLONE_VM | SIGCHLD, rdusp(), regs, 0, NULL);
return IS_ERR(p) ? PTR_ERR(p) : p->pid;
}
unsigned long clone_flags;
unsigned long newsp;
struct task_struct *p;
+ int *user_tid;
/* syscall2 puts clone_flags in d1 and usp in d2 */
clone_flags = regs->d1;
newsp = regs->d2;
+ user_tid = (int *)regs->d3;
if (!newsp)
newsp = rdusp();
- p = do_fork(clone_flags & ~CLONE_IDLETASK, newsp, regs, 0);
+ p = do_fork(clone_flags & ~CLONE_IDLETASK, newsp, regs, 0, user_tid);
return IS_ERR(p) ? PTR_ERR(p) : p->pid;
}