Re: [PATCH net] net: systemport: fix potential memory leak in bcm_sysport_xmit()

From: Florian Fainelli
Date: Tue Oct 15 2024 - 14:07:50 EST


On 10/15/24 11:01, Jakub Kicinski wrote:
On Mon, 14 Oct 2024 09:59:27 -0700 Florian Fainelli wrote:
diff --git a/drivers/net/ethernet/broadcom/bcmsysport.c b/drivers/net/ethernet/broadcom/bcmsysport.c
index c9faa8540859..0a68b526e4a8 100644
--- a/drivers/net/ethernet/broadcom/bcmsysport.c
+++ b/drivers/net/ethernet/broadcom/bcmsysport.c
@@ -1359,6 +1359,7 @@ static netdev_tx_t bcm_sysport_xmit(struct sk_buff *skb,
netif_err(priv, tx_err, dev, "DMA map failed at %p (len=%d)\n",
skb->data, skb_len);
ret = NETDEV_TX_OK;
+ dev_kfree_skb_any(skb);

Since we already have a private counter tracking DMA mapping errors, I
would follow what the driver does elsewhere in the transmit path,
especially what bcm_sysport_insert_tsb() does, and just use
dev_consume_skb_any() here.

Are you saying that if the packet drop is accounted is some statistics
we should not inform drop monitor about it? 🤔️
That wasn't my understanding of kfree_skb vs consume_skb..

Yes that's my reasoning here, now given that we have had packet drops on transmit that took forever to track down, maybe I better retract that statement and go with v1.
--
Florian