mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 10:31:46 +09:00
tty: serial: lpuart: avoid leaking struct tty_struct
commit3216c622a2upstream. 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:5887ad43ee("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>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
4fe780c1ba
commit
2b7ba10476
@@ -983,7 +983,8 @@ static inline int lpuart_start_rx_dma(struct lpuart_port *sport)
|
||||
struct circ_buf *ring = &sport->rx_ring;
|
||||
int ret, nent;
|
||||
int bits, baud;
|
||||
struct tty_struct *tty = tty_port_tty_get(&sport->port.state->port);
|
||||
struct tty_port *port = &sport->port.state->port;
|
||||
struct tty_struct *tty = port->tty;
|
||||
struct ktermios *termios = &tty->termios;
|
||||
|
||||
baud = tty_get_baud_rate(tty);
|
||||
|
||||
Reference in New Issue
Block a user