[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20081006103540.GC29198@hawkmoon.kerlabs.com>
Date:	Mon, 6 Oct 2008 12:35:40 +0200
From:	Louis Rilling <Louis.Rilling@...labs.com>
To:	Alan Cox <alan@...hat.com>
Cc:	linux-kernel@...r.kernel.org
Subject: Re: [PATCH 36/76] tty: Make get_current_tty use a kref
On Sun, Oct 05, 2008 at 05:10:42PM +0100, Alan Cox wrote:
> We now return a kref covered tty reference. That ensures the tty structure
> doesn't go away when you have a return from get_current_tty. This is not
> enough to protect you from most of the resources being freed behind your
> back - yet.
> 
> [Updated to include fixes for SELinux problems found by Andrew Morton and
>  an s390 leak found while debugging the former]
> 
[...]
> diff --git a/drivers/s390/char/fs3270.c b/drivers/s390/char/fs3270.c
> index d18e6d2..3ef5425 100644
> --- a/drivers/s390/char/fs3270.c
> +++ b/drivers/s390/char/fs3270.c
> @@ -430,11 +430,12 @@ fs3270_open(struct inode *inode, struct file *filp)
>  		mutex_lock(&tty_mutex);
>  		tty = get_current_tty();
>  		if (!tty || tty->driver->major != IBM_TTY3270_MAJOR) {
> -			mutex_unlock(&tty_mutex);
> +			tty_kref_put(tty);
Should'nt mutex_unlock() be kept?
Louis
>  			rc = -ENODEV;
>  			goto out;
>  		}
>  		minor = tty->index + RAW3270_FIRSTMINOR;
> +		tty_kref_put(tty);
>  		mutex_unlock(&tty_mutex);
>  	}
>  	/* Check if some other program is already using fullscreen mode. */
-- 
Dr Louis Rilling			Kerlabs
Skype: louis.rilling			Batiment Germanium
Phone: (+33|0) 6 80 89 08 23		80 avenue des Buttes de Coesmes
http://www.kerlabs.com/			35700 Rennes
Download attachment "signature.asc" of type "application/pgp-signature" (190 bytes)
Powered by blists - more mailing lists