unsigned long sp = (unsigned long)tsk->thread_info + THREAD_SIZE;
extern void ret_from_fork(void);
+ tsk->set_child_tid = tsk->clear_child_tid = NULL;
+
/* Copy registers */
sp -= sizeof (struct pt_regs);
childregs = (struct pt_regs *)sp;
goto out;
error = do_execve(filename, uargv, uenvp, ®s);
- if (error == 0) {
- task_lock(current);
+ if (error == 0)
current->ptrace &= ~PT_DTRACE;
- task_unlock(current);
- }
putname(filename);
out:
return error;