]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net: tipc: prevent possible null deref of link
authorCengiz Can <cengiz@kernel.wtf>
Mon, 7 Dec 2020 08:14:24 +0000 (11:14 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 21 Dec 2020 12:28:18 +0000 (13:28 +0100)
[ Upstream commit 0398ba9e5a4b5675aa571e0445689d3c2e499c2d ]

`tipc_node_apply_property` does a null check on a `tipc_link_entry`
pointer but also accesses the same pointer out of the null check block.

This triggers a warning on Coverity Static Analyzer because we're
implying that `e->link` can BE null.

Move "Update MTU for node link entry" line into if block to make sure
that we're not in a state that `e->link` is null.

Signed-off-by: Cengiz Can <cengiz@kernel.wtf>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/tipc/node.c

index 8c9c12072a784814987e1370876d42d8bb151cb9..052c41cec89b404a2458800c3e31c4892f5d2f0b 100644 (file)
@@ -2170,9 +2170,11 @@ void tipc_node_apply_property(struct net *net, struct tipc_bearer *b,
                                                        &xmitq);
                        else if (prop == TIPC_NLA_PROP_MTU)
                                tipc_link_set_mtu(e->link, b->mtu);
+
+                       /* Update MTU for node link entry */
+                       e->mtu = tipc_link_mss(e->link);
                }
-               /* Update MTU for node link entry */
-               e->mtu = tipc_link_mss(e->link);
+
                tipc_node_write_unlock(n);
                tipc_bearer_xmit(net, bearer_id, &xmitq, &e->maddr, NULL);
        }