2020-12-07 08:35:05

by Cengiz Can

[permalink] [raw]
Subject: [PATCH] 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 <[email protected]>
---
net/tipc/node.c | 6 ++++--
1 file 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);
}
--
2.29.2


2020-12-08 23:58:49

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] net: tipc: prevent possible null deref of link

From: Cengiz Can <[email protected]>
Date: Mon, 7 Dec 2020 11:14:24 +0300

> `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 <[email protected]>
> ---

Applied, thanks.,