Message ID | 20200718051845.10218-1-navid.emamdoost@gmail.com |
---|---|
State | Changes Requested |
Delegated to: | David Miller |
Headers | show |
Series | cxgb4: add missing release on skb in uld_send() | expand |
From: Navid Emamdoost <navid.emamdoost@gmail.com> Date: Sat, 18 Jul 2020 00:18:43 -0500 > diff --git a/drivers/net/ethernet/chelsio/cxgb4/sge.c b/drivers/net/ethernet/chelsio/cxgb4/sge.c > index 32a45dc51ed7..d8c37fd4b808 100644 > --- a/drivers/net/ethernet/chelsio/cxgb4/sge.c > +++ b/drivers/net/ethernet/chelsio/cxgb4/sge.c > @@ -2938,6 +2938,7 @@ static inline int uld_send(struct adapter *adap, struct sk_buff *skb, > txq_info = adap->sge.uld_txq_info[tx_uld_type]; > if (unlikely(!txq_info)) { > WARN_ON(true); > + consume_skb(skb); > return NET_XMIT_DROP; > } > This is a packet drop so kfree_skb() is more appropriate here.
diff --git a/drivers/net/ethernet/chelsio/cxgb4/sge.c b/drivers/net/ethernet/chelsio/cxgb4/sge.c index 32a45dc51ed7..d8c37fd4b808 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/sge.c +++ b/drivers/net/ethernet/chelsio/cxgb4/sge.c @@ -2938,6 +2938,7 @@ static inline int uld_send(struct adapter *adap, struct sk_buff *skb, txq_info = adap->sge.uld_txq_info[tx_uld_type]; if (unlikely(!txq_info)) { WARN_ON(true); + consume_skb(skb); return NET_XMIT_DROP; }
In the implementation of uld_send(), the skb is consumed on all execution paths except one. Release skb when returning NET_XMIT_DROP. Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com> --- drivers/net/ethernet/chelsio/cxgb4/sge.c | 1 + 1 file changed, 1 insertion(+)