public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] igbvf: fix DMA mapping leak in TX error path
@ 2026-03-24 16:13 David Carlier
  0 siblings, 0 replies; only message in thread
From: David Carlier @ 2026-03-24 16:13 UTC (permalink / raw)
  To: Tony Nguyen, Przemek Kitszel, Andrew Lunn, Eric Dumazet,
	Jakub Kicinski
  Cc: netdev, David Carlier

When a DMA mapping error occurs in igbvf_tx_map_adv(), the error
cleanup code decrements count before the unmap loop, causing exactly
one successfully mapped DMA buffer to be leaked.

This is the same off-by-one bug that was fixed in e1000/e1000e by
commit e94eaef11142 ("e1000/e1000e: Fix leak in DMA error cleanup"),
which noted: "This issue may still exist in the igbvf driver."

Remove the erroneous decrement so the while loop correctly unmaps
all successfully mapped buffers.

Fixes: c1fa347f20f1 ("e1000/e1000e/igb/igbvf/ixgb/ixgbe: Fix tests of unsigned in *_tx_map()")
Signed-off-by: David Carlier <devnexen@gmail.com>
---
 drivers/net/ethernet/intel/igbvf/netdev.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/net/ethernet/intel/igbvf/netdev.c b/drivers/net/ethernet/intel/igbvf/netdev.c
index 5d04541072b3..88c6ce5040e2 100644
--- a/drivers/net/ethernet/intel/igbvf/netdev.c
+++ b/drivers/net/ethernet/intel/igbvf/netdev.c
@@ -2190,8 +2190,6 @@ static inline int igbvf_tx_map_adv(struct igbvf_adapter *adapter,
 	buffer_info->time_stamp = 0;
 	buffer_info->length = 0;
 	buffer_info->mapped_as_page = false;
-	if (count)
-		count--;
 
 	/* clear timestamp and dma mappings for remaining portion of packet */
 	while (count--) {
-- 
2.53.0


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-03-24 16:13 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-24 16:13 [PATCH] igbvf: fix DMA mapping leak in TX error path David Carlier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox