X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fs390%2Fkernel%2Fprocess.c;h=5d56e77c74eee3ee086377599ff622d8bf40d394;hb=a9fdee76789476a10f923f9fb3c84993042da3ac;hp=1a97c520412671abdca5c9b385411fcd6046dbc7;hpb=8d40237c730b8be87c1b80a5d96b9c603fefa829;p=linux-2.6.git diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c index 1a97c5204..5d56e77c7 100644 --- a/arch/s390/kernel/process.c +++ b/arch/s390/kernel/process.c @@ -238,6 +238,7 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long new_stackp, frame = ((struct fake_frame *) (THREAD_SIZE + (unsigned long) p->thread_info)) - 1; p->thread.ksp = (unsigned long) frame; + p->set_child_tid = p->clear_child_tid = NULL; /* Store access registers to kernel stack of new process. */ frame->childregs = *regs; frame->childregs.gprs[2] = 0; /* child returns 0 on fork. */ @@ -339,9 +340,7 @@ asmlinkage long sys_execve(struct pt_regs regs) error = do_execve(filename, (char __user * __user *) regs.gprs[3], (char __user * __user *) regs.gprs[4], ®s); if (error == 0) { - task_lock(current); current->ptrace &= ~PT_DTRACE; - task_unlock(current); current->thread.fp_regs.fpc = 0; if (MACHINE_HAS_IEEE) asm volatile("sfpc %0,%0" : : "d" (0));