print_symbol("%s\n", regs->link);
show_stack(current, (unsigned long *)regs->gpr[1]);
}
-EXPORT_SYMBOL_GPL(show_regs);
void exit_thread(void)
{
extern void ret_from_fork(void);
unsigned long sp = (unsigned long)p->thread_info + THREAD_SIZE;
+ p->set_child_tid = p->clear_child_tid = NULL;
+
/* Copy registers */
sp -= sizeof(struct pt_regs);
childregs = (struct pt_regs *) sp;
error = do_execve(filename, (char __user * __user *) a1,
(char __user * __user *) a2, regs);
- if (error == 0) {
- task_lock(current);
+ if (error == 0)
current->ptrace &= ~PT_DTRACE;
- task_unlock(current);
- }
putname(filename);
out: