summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@redhat.com>2012-03-05 14:59:14 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2012-03-05 15:49:42 -0800
commit6e27f63edbd7ab893258e16500171dd1270a1369 (patch)
tree9c61b7c0dda37052e2285e90f914f8af5ed86f67
parent57b59c4a1400fa6c34764eab2e35a8762dc05a09 (diff)
downloadop-kernel-dev-6e27f63edbd7ab893258e16500171dd1270a1369.zip
op-kernel-dev-6e27f63edbd7ab893258e16500171dd1270a1369.tar.gz
vfork: kill PF_STARTING
Previously it was (ab)used by utrace. Then it was wrongly used by the scheduler code. Currently it is not used, kill it before it finds the new erroneous user. Signed-off-by: Oleg Nesterov <oleg@redhat.com> Acked-by: Tejun Heo <tj@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--include/linux/sched.h1
-rw-r--r--kernel/fork.c9
2 files changed, 0 insertions, 10 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 11fcafa..0657368 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1777,7 +1777,6 @@ extern void thread_group_times(struct task_struct *p, cputime_t *ut, cputime_t *
/*
* Per process flags
*/
-#define PF_STARTING 0x00000002 /* being created */
#define PF_EXITING 0x00000004 /* getting shut down */
#define PF_EXITPIDONE 0x00000008 /* pi exit done on shut down */
#define PF_VCPU 0x00000010 /* I'm a virtual CPU */
diff --git a/kernel/fork.c b/kernel/fork.c
index 44b0e21..26a7a67 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -1046,7 +1046,6 @@ static void copy_flags(unsigned long clone_flags, struct task_struct *p)
new_flags &= ~(PF_SUPERPRIV | PF_WQ_WORKER);
new_flags |= PF_FORKNOEXEC;
- new_flags |= PF_STARTING;
p->flags = new_flags;
}
@@ -1579,14 +1578,6 @@ long do_fork(unsigned long clone_flags,
get_task_struct(p);
}
- /*
- * We set PF_STARTING at creation in case tracing wants to
- * use this to distinguish a fully live task from one that
- * hasn't finished SIGSTOP raising yet. Now we clear it
- * and set the child going.
- */
- p->flags &= ~PF_STARTING;
-
wake_up_new_task(p);
/* forking complete and child started to run, tell ptracer */
OpenPOWER on IntegriCloud