mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-30 16:13:54 +08:00
serial: core: fix potential NULL pointer dereference
The commit761ed4a945
("tty: serial_core: convert uart_close to use tty_port_close") refactored uart_close() to use tty_port_close(). At the same time it introduced a potential NULL pointer dereference. Rearrange the code to avoid kernel crash. Fixes:761ed4a945
("tty: serial_core: convert uart_close to use tty_port_close") Cc: Rob Herring <robh@kernel.org> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
0ae9fdefb6
commit
a5a2b13074
@ -1484,15 +1484,15 @@ static void uart_tty_port_shutdown(struct tty_port *port)
|
||||
struct uart_state *state = container_of(port, struct uart_state, port);
|
||||
struct uart_port *uport = uart_port_check(state);
|
||||
|
||||
spin_lock_irq(&uport->lock);
|
||||
/*
|
||||
* At this point, we stop accepting input. To do this, we
|
||||
* disable the receive line status interrupts.
|
||||
*/
|
||||
WARN(!uport, "detached port still initialized!\n");
|
||||
if (WARN(!uport, "detached port still initialized!\n"))
|
||||
return;
|
||||
|
||||
spin_lock_irq(&uport->lock);
|
||||
uport->ops->stop_rx(uport);
|
||||
|
||||
spin_unlock_irq(&uport->lock);
|
||||
|
||||
uart_port_shutdown(port);
|
||||
|
Loading…
Reference in New Issue
Block a user