Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1480419

[PATCH 1/9] tty: serial_core: add tty NULL check to uart_tx_stopped

From Rob Herring <robh@kernel.org>
Newsgroups linux.kernel
Subject [PATCH 1/9] tty: serial_core: add tty NULL check to uart_tx_stopped
Date 2016-09-10 00:40 +0200
Message-ID <sfCCJ-mH-25@gated-at.bofh.it> (permalink)
References <sfCCJ-mH-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Commit 761ed4a94582 ("tty: serial_core: convert uart_close to use
tty_port_close") created a case where a port used for a console does not
get shutdown on tty closing. Then a call to uart_tx_stopped() segfaults
because the tty is NULL. This could be fixed to restore old behavior,
but we also want to allow tty_ports to work without a tty attached. So
this change to allow a NULL tty_struct is needed either way.

Fixes: 761ed4a94582 ("tty: serial_core: convert uart_close to use tty_port_close")
Reported-by: kernel test robot <xiaolong.ye@intel.com>
Signed-off-by: Rob Herring <robh@kernel.org>
---
 include/linux/serial_core.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
index cdba6f144f72..378d80a8dd43 100644
--- a/include/linux/serial_core.h
+++ b/include/linux/serial_core.h
@@ -412,7 +412,7 @@ int uart_resume_port(struct uart_driver *reg, struct uart_port *port);
 static inline int uart_tx_stopped(struct uart_port *port)
 {
 	struct tty_struct *tty = port->state->port.tty;
-	if (tty->stopped || port->hw_stopped)
+	if ((tty && tty->stopped) || port->hw_stopped)
 		return 1;
 	return 0;
 }
-- 
2.9.3

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 0/9] tty: tty_struct dependency clean-ups Rob Herring <robh@kernel.org> - 2016-09-10 00:40 +0200
  [PATCH 5/9] tty: serial_core: use tty_port_tty_wakeup instead of tty_wakeup Rob Herring <robh@kernel.org> - 2016-09-10 00:40 +0200
  [PATCH 6/9] tty: serial_core: introduce tty_port_to_uart_state Rob Herring <robh@kernel.org> - 2016-09-10 00:40 +0200
  [PATCH 1/9] tty: serial_core: add tty NULL check to uart_tx_stopped Rob Herring <robh@kernel.org> - 2016-09-10 00:40 +0200
  [PATCH 3/9] tty: move hw_stopped flag to tty_port Rob Herring <robh@kernel.org> - 2016-09-10 00:40 +0200
    Re: [PATCH 3/9] tty: move hw_stopped flag to tty_port One Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk> - 2016-09-11 23:20 +0200
  [PATCH 4/9] tty: move TTY_IO_ERROR flag to tty_port iflags Rob Herring <robh@kernel.org> - 2016-09-10 00:40 +0200
    Re: [PATCH 4/9] tty: move TTY_IO_ERROR flag to tty_port iflags One Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk> - 2016-09-11 23:20 +0200
  [PATCH 8/9] tty: serial_core: remove dependence on tty->driver_data Rob Herring <robh@kernel.org> - 2016-09-10 00:40 +0200
  Re: [PATCH 2/9] tty: remove tty_struct dependency in tty flag macros Rob Herring <robh@kernel.org> - 2016-09-10 03:10 +0200
  Re: [PATCH 0/9] tty: tty_struct dependency clean-ups One Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk> - 2016-09-11 23:20 +0200
    Re: [PATCH 0/9] tty: tty_struct dependency clean-ups Rob Herring <robh@kernel.org> - 2016-09-12 05:10 +0200
      Re: [PATCH 0/9] tty: tty_struct dependency clean-ups One Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk> - 2016-09-12 13:50 +0200
  Re: [PATCH 0/9] tty: tty_struct dependency clean-ups Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-09-15 12:50 +0200

csiph-web