OSDN Git Service

tty: serial: lpuart: avoid leaking struct tty_struct
authorStefan Agner <stefan@agner.ch>
Tue, 28 Aug 2018 10:44:24 +0000 (12:44 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 3 Oct 2018 23:59:17 +0000 (16:59 -0700)
commit98ecfdf49ff73c87a5ab8fa7ba1f22db67da6f29
tree5c9119464a01e7f24bd437b02b9dfdfe4f753057
parentfdbbdfeeb699535138be3274c615233c1af42aac
tty: serial: lpuart: avoid leaking struct tty_struct

commit 3216c622a24b0ebb9c159a8d1daf7f17a106b3f5 upstream.

The function tty_port_tty_get() gets a reference to the tty. Since
the code is not using tty_port_tty_set(), the reference is kept
even after closing the tty.

Avoid using tty_port_tty_get() by directly access the tty instance.
Since lpuart_start_rx_dma() is called from the .startup() and
.set_termios() callback, it is safe to assume the tty instance is
valid.

Cc: stable@vger.kernel.org # v4.9+
Fixes: 5887ad43ee02 ("tty: serial: fsl_lpuart: Use cyclic DMA for Rx")
Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/fsl_lpuart.c