]> git.hungrycats.org Git - linux/commitdiff
[PATCH] - fix signal->live leak in copy_process()
authorOleg Nesterov <oleg@tv-sign.ru>
Wed, 9 Nov 2005 18:22:13 +0000 (10:22 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 11 Nov 2005 05:18:55 +0000 (21:18 -0800)
exit_signal() (called from copy_process's error path) should decrement
->signal->live, otherwise forking process will miss 'group_dead' in
do_exit().

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Chris Wright <chrisw@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
kernel/signal.c

index f2b96b08fb44726d5673bf65750d4c1d9951ccd9..6904bbbfe116985d1710f04fcfd5792a536d382f 100644 (file)
@@ -406,6 +406,8 @@ void __exit_signal(struct task_struct *tsk)
 
 void exit_signal(struct task_struct *tsk)
 {
+       atomic_dec(&tsk->signal->live);
+
        write_lock_irq(&tasklist_lock);
        __exit_signal(tsk);
        write_unlock_irq(&tasklist_lock);