Message ID | 1513015915-22187-1-git-send-email-jon.maloy@ericsson.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
Series | [net,1/1] tipc: eliminate potential memory leak | expand |
From: Jon Maloy <jon.maloy@ericsson.com> Date: Mon, 11 Dec 2017 19:11:55 +0100 > 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 <jon.maloy@ericsson.com> Applied and queued up for -stable.
diff --git a/net/tipc/socket.c b/net/tipc/socket.c index 5d18c0c..41127d0 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; }
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 <jon.maloy@ericsson.com> --- net/tipc/socket.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)