From: Tom Rix <trix@redhat.com>
Clang static analysis reports this problem
route.c:425:4: warning: Use of memory after it is freed
trace_mctp_key_acquire(key);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
When mctp_key_add() fails, key is freed but then is later
used in trace_mctp_key_acquire(). Add an else statement
to use the key only when mctp_key_add() is successful.
Fixes: 4f9e1ba6de45 ("mctp: Add tracepoints for tag/key handling")
Signed-off-by: Tom Rix <trix@redhat.com>
---
v2: change the Fixes: line
net/mctp/route.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
@@ -419,13 +419,14 @@ static int mctp_route_input(struct mctp_route *route, struct sk_buff *skb)*thisfunction.*/rc=mctp_key_add(key,msk);-if(rc)+if(rc){kfree(key);+}else{+trace_mctp_key_acquire(key);-trace_mctp_key_acquire(key);--/* we don't need to release key->lock on exit */-mctp_key_unref(key);+/* we don't need to release key->lock on exit */+mctp_key_unref(key);+}key=NULL;}else{
From: Jeremy Kerr <jk@codeconstruct.com.au> Date: 2022-02-15 02:26:31
Hi Tom,
Clang static analysis reports this problem
route.c:425:4: warning: Use of memory after it is freed
trace_mctp_key_acquire(key);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
When mctp_key_add() fails, key is freed but then is later
used in trace_mctp_key_acquire(). Add an else statement
to use the key only when mctp_key_add() is successful.
Fixes: 4f9e1ba6de45 ("mctp: Add tracepoints for tag/key handling")
Signed-off-by: Tom Rix <trix@redhat.com>
---
v2: change the Fixes: line
Super, thanks!
Acked-off-by: Jeremy Kerr [off-list ref]
Cheers,
Jeremy
Hello:
This patch was applied to netdev/net.git (master)
by David S. Miller [off-list ref]:
On Mon, 14 Feb 2022 18:05:41 -0800 you wrote:
From: Tom Rix <trix@redhat.com>
Clang static analysis reports this problem
route.c:425:4: warning: Use of memory after it is freed
trace_mctp_key_acquire(key);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
When mctp_key_add() fails, key is freed but then is later
used in trace_mctp_key_acquire(). Add an else statement
to use the key only when mctp_key_add() is successful.
[...]