tty: serial: jsm: Remove unnecessary NULL checks
authorGuilherme G. Piccoli <gpiccoli@linux.vnet.ibm.com>
Fri, 22 Dec 2017 16:31:38 +0000 (14:31 -0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 9 Jan 2018 15:37:03 +0000 (16:37 +0100)
After inspection made by Markus using Coccinelle software, he
observed that we could possibly be triggering a NULL pointer
dereference in 2 functions [0].

After discussion in mailing list, it was observed in fact
we have two unnecessary checks for NULL pointer, and they
were leading to Coccinelle warn. So, instead of reworking
the code as proposed by him, we hereby remove the
unnecessary checks, and also some unneeded extra lines in
the code.

These two unnecessary NULL checks were tracked in the call
chain as never NULL, so they can be safely removed.
No functional changes are intended.

[0] https://lkml.org/lkml/2017/11/29/705

Suggested-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Guilherme G. Piccoli <gpiccoli@linux.vnet.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/jsm/jsm_neo.c
drivers/tty/serial/jsm/jsm_tty.c

index 4718560b8fdc93c0ff2796ce5ac582b6a1466396..6fa9a54b2454c0a87703b3d1df2626ddf49c4774 100644 (file)
@@ -282,9 +282,6 @@ static void neo_copy_data_from_uart_to_queue(struct jsm_channel *ch)
        u16 head;
        u16 tail;
 
-       if (!ch)
-               return;
-
        /* cache head and tail of queue */
        head = ch->ch_r_head & RQUEUEMASK;
        tail = ch->ch_r_tail & RQUEUEMASK;
index 469927d37b4116f8e7e937fbd5821abfec4ec81d..b6bd6e15e07bde86062beb2bd7e07b872e28ddc7 100644 (file)
@@ -523,9 +523,6 @@ void jsm_input(struct jsm_channel *ch)
 
        jsm_dbg(READ, &ch->ch_bd->pci_dev, "start\n");
 
-       if (!ch)
-               return;
-
        port = &ch->uart_port.state->port;
        tp = port->tty;
 
@@ -648,11 +645,8 @@ static void jsm_carrier(struct jsm_channel *ch)
        int phys_carrier = 0;
 
        jsm_dbg(CARR, &ch->ch_bd->pci_dev, "start\n");
-       if (!ch)
-               return;
 
        bd = ch->ch_bd;
-
        if (!bd)
                return;