Message ID | 20240707141037.1924202-1-olek2@wp.pl (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | net: ethernet: lantiq_etop: fix double free in detach | expand |
On Sun, Jul 07, 2024 at 04:10:37PM +0200, Aleksander Jan Bajkowski wrote: > The number of the currently released descriptor is never incremented > which results in the same skb being released multiple times. > > Reported-by: Joe Perches <joe@perches.com> > Closes: https://lore.kernel.org/all/fc1bf93d92bb5b2f99c6c62745507cc22f3a7b2d.camel@perches.com/ > Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Andrew
diff --git a/drivers/net/ethernet/lantiq_etop.c b/drivers/net/ethernet/lantiq_etop.c index 5352fee62d2b..6027e5a179b4 100644 --- a/drivers/net/ethernet/lantiq_etop.c +++ b/drivers/net/ethernet/lantiq_etop.c @@ -217,9 +217,7 @@ ltq_etop_free_channel(struct net_device *dev, struct ltq_etop_chan *ch) if (ch->dma.irq) free_irq(ch->dma.irq, priv); if (IS_RX(ch->idx)) { - int desc; - - for (desc = 0; desc < LTQ_DESC_NUM; desc++) + for (ch->dma.desc = 0; ch->dma.desc < LTQ_DESC_NUM; ch->dma.desc++) dev_kfree_skb_any(ch->skb[ch->dma.desc]); } }
The number of the currently released descriptor is never incremented which results in the same skb being released multiple times. Reported-by: Joe Perches <joe@perches.com> Closes: https://lore.kernel.org/all/fc1bf93d92bb5b2f99c6c62745507cc22f3a7b2d.camel@perches.com/ Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl> --- drivers/net/ethernet/lantiq_etop.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)