aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Maloy <[email protected]>2017-12-11 19:11:55 +0100
committerDavid S. Miller <[email protected]>2017-12-13 13:44:36 -0500
commitc545a945d0d9ea2ea2c7d23d43cf0d86e32cd7cf (patch)
tree60223c66b9a9c5f74ece0905e9506155a5de0b5b
parent83593010d3b87601e775f240ce46c53ddf25828d (diff)
tipc: eliminate potential memory leak
In the function tipc_sk_mcast_rcv() we call refcount_dec(&skb->users) on received sk_buffers. Since the reference counter might hit zero at this point, we have a potential memory leak. We fix this by replacing refcount_dec() with kfree_skb(). Signed-off-by: Jon Maloy <[email protected]> Signed-off-by: David S. Miller <[email protected]>
-rw-r--r--net/tipc/socket.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/tipc/socket.c b/net/tipc/socket.c
index 5d18c0caa92b..41127d0b925e 100644
--- a/net/tipc/socket.c
+++ b/net/tipc/socket.c
@@ -1140,7 +1140,7 @@ void tipc_sk_mcast_rcv(struct net *net, struct sk_buff_head *arrvq,
__skb_dequeue(arrvq);
__skb_queue_tail(inputq, skb);
}
- refcount_dec(&skb->users);
+ kfree_skb(skb);
spin_unlock_bh(&inputq->lock);
continue;
}