Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1a2db00a authored by Aleksander Jan Bajkowski's avatar Aleksander Jan Bajkowski Committed by Greg Kroah-Hartman
Browse files

net: ethernet: lantiq_etop: fix double free in detach



[ Upstream commit e1533b6319ab9c3a97dad314dd88b3783bc41b69 ]

The number of the currently released descriptor is never incremented
which results in the same skb being released multiple times.

Fixes: 504d4721 ("MIPS: Lantiq: Add ethernet driver")
Reported-by: default avatarJoe Perches <joe@perches.com>
Closes: https://lore.kernel.org/all/fc1bf93d92bb5b2f99c6c62745507cc22f3a7b2d.camel@perches.com/


Signed-off-by: default avatarAleksander Jan Bajkowski <olek2@wp.pl>
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/20240708205826.5176-1-olek2@wp.pl


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 12d204b8
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -221,9 +221,9 @@ ltq_etop_free_channel(struct net_device *dev, struct ltq_etop_chan *ch)
	if (ch->dma.irq)
	if (ch->dma.irq)
		free_irq(ch->dma.irq, priv);
		free_irq(ch->dma.irq, priv);
	if (IS_RX(ch->idx)) {
	if (IS_RX(ch->idx)) {
		int desc;
		struct ltq_dma_channel *dma = &ch->dma;


		for (desc = 0; desc < LTQ_DESC_NUM; desc++)
		for (dma->desc = 0; dma->desc < LTQ_DESC_NUM; dma->desc++)
			dev_kfree_skb_any(ch->skb[ch->dma.desc]);
			dev_kfree_skb_any(ch->skb[ch->dma.desc]);
	}
	}
}
}