diff options
author | Oleg Nesterov <oleg@redhat.com> | 2013-07-03 15:08:32 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-03 16:08:03 -0700 |
commit | 18c830df771f2ba8b4699fea9af1492275ae627b (patch) | |
tree | 01b1dc470a1a30102a3f94e539bdbf74faa548be /fs/exec.c | |
parent | 8190773985141f063e1d6dc10200527c655abfb5 (diff) | |
download | linux-18c830df771f2ba8b4699fea9af1492275ae627b.tar.gz linux-18c830df771f2ba8b4699fea9af1492275ae627b.tar.bz2 linux-18c830df771f2ba8b4699fea9af1492275ae627b.zip |
kernel/fork.c:copy_process(): consolidate the lockless CLONE_THREAD checks
copy_process() does a lot of "chaotic" initializations and checks
CLONE_THREAD twice before it takes tasklist. In particular it sets
"p->group_leader = p" and then changes it again under tasklist if
!thread_group_leader(p).
This looks a bit confusing, lets create a single "if (CLONE_THREAD)" block
which initializes ->exit_signal, ->group_leader, and ->tgid.
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Michal Hocko <mhocko@suse.cz>
Cc: Pavel Emelyanov <xemul@parallels.com>
Cc: Sergey Dyasly <dserrg@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/exec.c')
0 files changed, 0 insertions, 0 deletions