GIT: unionfs2-2.6.27.y: tty: release_one_tty() forgets to put pids

Erez Zadok ezk at fsl.cs.sunysb.edu
Thu Aug 12 23:15:20 EDT 2010


commit 1ae9213b109c56470b79df5af1e36e780916eb57
Author: Oleg Nesterov <oleg at redhat.com>
Date:   Fri Apr 2 18:05:12 2010 +0200

    tty: release_one_tty() forgets to put pids
    
    commit 6da8d866d0d39e9509ff826660f6a86a6757c966 upstream.
    
    release_one_tty(tty) can be called when tty still has a reference
    to pgrp/session. In this case we leak the pid.
    
    Signed-off-by: Oleg Nesterov <oleg at redhat.com>
    Reported-by: Catalin Marinas <catalin.marinas at arm.com>
    Reported-and-tested-by: Tetsuo Handa <penguin-kernel at I-love.SAKURA.ne.jp>
    Acked-by: Linus Torvalds <torvalds at linux-foundation.org>
    Acked-by: Eric W. Biederman <ebiederm at xmission.com>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>

diff --git a/drivers/char/tty_io.c b/drivers/char/tty_io.c
index e6788f4..f325128 100644
--- a/drivers/char/tty_io.c
+++ b/drivers/char/tty_io.c
@@ -1893,6 +1893,8 @@ static void release_one_tty(struct tty_struct *tty, int idx)
 	list_del_init(&tty->tty_files);
 	file_list_unlock();
 
+	put_pid(tty->pgrp);
+	put_pid(tty->session);
 	free_tty_struct(tty);
 }
 


More information about the unionfs-cvs mailing list