tipc: don't check link reset on non existing link
authorRichard Alpe <richard.alpe@ericsson.com>
Thu, 3 Mar 2016 13:20:41 +0000 (14:20 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 7 Mar 2016 03:54:56 +0000 (22:54 -0500)
Make sure we have a link before checking if it has been reset or not.

Prior to this patch tipc_link_is_reset() could be called with a non
existing link, resulting in a null pointer dereference.

Signed-off-by: Richard Alpe <richard.alpe@ericsson.com>
Acked-by: Jon Maloy <jon.maloy@ericsson.com>
Reviewed-by: Erik Hugne <erik.hugne@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tipc/node.c

index cdb7950..590d597 100644 (file)
@@ -843,7 +843,7 @@ void tipc_node_check_dest(struct net *net, u32 onode,
        memcpy(&le->maddr, maddr, sizeof(*maddr));
 exit:
        tipc_node_write_unlock(n);
-       if (reset && !tipc_link_is_reset(l))
+       if (reset && l && !tipc_link_is_reset(l))
                tipc_node_link_down(n, b->identity, false);
        tipc_node_put(n);
 }