Skip to content

Commit 7e5b6a5

Browse files
Tom Rixdavem330
authored andcommitted
mctp: fix use after free
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: 4f9e1ba ("mctp: Add tracepoints for tag/key handling") Signed-off-by: Tom Rix <trix@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent ef57640 commit 7e5b6a5

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

net/mctp/route.c

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -412,13 +412,14 @@ static int mctp_route_input(struct mctp_route *route, struct sk_buff *skb)
412412
* this function.
413413
*/
414414
rc = mctp_key_add(key, msk);
415-
if (rc)
415+
if (rc) {
416416
kfree(key);
417+
} else {
418+
trace_mctp_key_acquire(key);
417419

418-
trace_mctp_key_acquire(key);
419-
420-
/* we don't need to release key->lock on exit */
421-
mctp_key_unref(key);
420+
/* we don't need to release key->lock on exit */
421+
mctp_key_unref(key);
422+
}
422423
key = NULL;
423424

424425
} else {

0 commit comments

Comments
 (0)