X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=kernel%2Ffork.c;h=8ca1a14cdc8c12ee8e592f7913f07f22dcec3d9b;hb=ca6435f188a0ce40eae716c158053e49130886a3;hp=a65bfc47177ce7e6c3f6bc68fa7a3b3e1a70dbf2;hpb=db8185360d91c01f6e482db5ee402c0ad90dec52;p=linux-2.6 diff --git a/kernel/fork.c b/kernel/fork.c index a65bfc4717..8ca1a14cdc 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -1057,6 +1057,7 @@ static struct task_struct *copy_process(unsigned long clone_flags, p->utimescaled = cputime_zero; p->stimescaled = cputime_zero; p->prev_utime = cputime_zero; + p->prev_stime = cputime_zero; #ifdef CONFIG_TASK_XACCT p->rchar = 0; /* I/O counter: bytes read */ @@ -1122,6 +1123,9 @@ static struct task_struct *copy_process(unsigned long clone_flags, p->blocked_on = NULL; /* not blocked yet */ #endif + /* Perform scheduler related setup. Assign this task to a CPU. */ + sched_fork(p, clone_flags); + if ((retval = security_task_alloc(p))) goto bad_fork_cleanup_policy; if ((retval = audit_alloc(p))) @@ -1211,9 +1215,6 @@ static struct task_struct *copy_process(unsigned long clone_flags, INIT_LIST_HEAD(&p->ptrace_children); INIT_LIST_HEAD(&p->ptrace_list); - /* Perform scheduler related setup. Assign this task to a CPU. */ - sched_fork(p, clone_flags); - /* Now that the task is set up, run cgroup callbacks if * necessary. We need to run them before the task is visible * on the tasklist. */