]> git.neil.brown.name Git - history.git/commitdiff
[PATCH] m68k do_fork() update
authorGeert Uytterhoeven <geert@linux-m68k.org>
Sun, 3 Nov 2002 07:53:18 +0000 (23:53 -0800)
committerLinus Torvalds <torvalds@penguin.transmeta.com>
Sun, 3 Nov 2002 07:53:18 +0000 (23:53 -0800)
Add user_tid argument to do_fork() calls (from Roman Zippel)

arch/m68k/kernel/process.c

index 3d78914a2d3d9fbda631da868f1e938c801db0e8..70312e5137e80266e8809d0ac3c6d66f8c0908fc 100644 (file)
@@ -202,14 +202,14 @@ void flush_thread(void)
 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;
 }
 
@@ -218,13 +218,15 @@ asmlinkage int m68k_clone(struct pt_regs *regs)
        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;
 }