fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / arch / sparc64 / kernel / process.c
index 7d75cd4..649131b 100644 (file)
@@ -696,7 +696,8 @@ pid_t kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
                             /* Notreached by child. */
                             "1:" :
                             "=r" (retval) :
-                            "i" (__NR_clone), "r" (flags | CLONE_VM | CLONE_UNTRACED),
+                            "i" (__NR_clone), "r" (flags |
+                               CLONE_VM | CLONE_UNTRACED | CLONE_KTHREAD),
                             "i" (__NR_exit),  "r" (fn), "r" (arg) :
                             "g1", "g2", "g3", "o0", "o1", "memory", "cc");
        return retval;
@@ -808,9 +809,6 @@ asmlinkage int sparc_execve(struct pt_regs *regs)
                current_thread_info()->xfsr[0] = 0;
                current_thread_info()->fpsaved[0] = 0;
                regs->tstate &= ~TSTATE_PEF;
-               task_lock(current);
-               current->ptrace &= ~PT_DTRACE;
-               task_unlock(current);
        }
 out:
        return error;