summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCengiz Can <cengiz@kernel.wtf>2020-12-07 11:14:24 +0300
committerDavid S. Miller <davem@davemloft.net>2020-12-08 15:53:41 -0800
commit0398ba9e5a4b5675aa571e0445689d3c2e499c2d (patch)
tree84314cf1ee7fa9735791b7368285ed379b6b1ebe
parent9756bb63e8d10aad720c378f3fd18e5fa1cc06ec (diff)
downloadlinux-0398ba9e5a4b5675aa571e0445689d3c2e499c2d.tar.gz
linux-0398ba9e5a4b5675aa571e0445689d3c2e499c2d.tar.bz2
linux-0398ba9e5a4b5675aa571e0445689d3c2e499c2d.zip
net: tipc: prevent possible null deref of link
`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>
-rw-r--r--net/tipc/node.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/net/tipc/node.c b/net/tipc/node.c
index c95d037fde51..83978d5dae59 100644
--- a/net/tipc/node.c
+++ b/net/tipc/node.c
@@ -2181,9 +2181,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);
}