[PATCH] fork: fix race in setting child's pgrp and tty
authorOren Laadan <orenl@cs.columbia.edu>
Sun, 8 Jan 2006 09:03:51 +0000 (01:03 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 9 Jan 2006 04:14:00 +0000 (20:14 -0800)
commit9a5d3023e626a0baf86ac6b892c983b3db13f22b
tree41d1be6513fc3a5367414654eeaf11bbb12d4814
parentfb86a35b9ded8a7e53a432cbf28df603cdd4849c
[PATCH] fork: fix race in setting child's pgrp and tty

In fork, child should recopy parent's pgrp/tty after it has tasklist_lock.
Otherwise following a setpgid() on the parent, *after* copy_signal(), the
child will own a stale pgrp (which may be reused); (eg.  if copy_mm()
sleeps a long while due to memory pressure).  Similar issue for the tty.

Signed-off-by: Oren Laadan <orenl@cs.columbia.edu>
Cc: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Roland McGrath <roland@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
kernel/fork.c