Re: [PATCH] Fix refcount leak in tty_port.c

From: Gustavo Padovan
Date: Fri Jul 12 2013 - 06:30:33 EST


Hi Gianluca,

* Gianluca Anzolin <gianluca@xxxxxxxxxxxxxx> [2013-07-09 10:35:35 +0200]:

> Hello,
>
> In linux 3.10 in the file drivers/tty/tty_port.c the function
> tty_port_tty_hangup may leak a tty reference:
>
> struct tty_struct *tty = tty_port_tty_get(port);
>
> if (tty && (!check_clocal || !C_CLOCAL(tty))) {
> tty_hangup(tty);
> tty_kref_put(tty);
> }
>
> If tty != NULL and the second condition is false we never call tty_kref_put and
> the reference is leaked.
>
> Fix by nesting two if statements.
>
> Signed-off-by: Gianluca Anzolin <gianluca@xxxxxxxxxxxxxx>

As mentioned by Gianluca this is a regression of aa27a094 and we depend on
this patch to go ahead with some fixes in the bluetooth subsystem.

Gianluca, it might help if you send a proper git inline formated patch,
mentioning the issue and which regression you are fixing. It makes
maintainer's life easier. Also add my Ack to the patch:

Acked-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx>

Gustavo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/