From: Alexey Khoroshilov Date: Thu, 13 Sep 2012 18:56:55 +0000 (+0400) Subject: USB: omninet: fix potential tty NULL dereference X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=8321652ae22f38830af5b553f3a316d68948ddce;p=linux-beck.git USB: omninet: fix potential tty NULL dereference Add check for return value of tty_port_tty_get, since it can return NULL after port hangup that may happen anytime. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/serial/omninet.c b/drivers/usb/serial/omninet.c index d31f661d758c..f524cd910e2c 100644 --- a/drivers/usb/serial/omninet.c +++ b/drivers/usb/serial/omninet.c @@ -185,10 +185,12 @@ static void omninet_read_bulk_callback(struct urb *urb) if (urb->actual_length && header->oh_len) { struct tty_struct *tty = tty_port_tty_get(&port->port); - tty_insert_flip_string(tty, data + OMNINET_DATAOFFSET, + if (tty) { + tty_insert_flip_string(tty, data + OMNINET_DATAOFFSET, header->oh_len); - tty_flip_buffer_push(tty); - tty_kref_put(tty); + tty_flip_buffer_push(tty); + tty_kref_put(tty); + } } /* Continue trying to always read */