Thread (2 messages) 2 messages, 2 authors, 23h ago
HOTtoday

[PATCH net] liquidio: Fix possible memory leak in lio_reset_queues()

From: Abdun Nihaal <hidden>
Date: 2026-07-27 08:03:09
Also in: lkml, stable
Subsystem: cavium liquidio network driver, networking drivers, the rest · Maintainers: Andrew Lunn, "David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, Linus Torvalds

The memory allocated in lio_setup_glists() and setup_rx_oom_poll_fn() is
not freed in some of the error paths in lio_reset_queues().
Fix that by adding the corresponding free functions to the error paths.

Fixes: 4b6e326b2d34 ("liquidio: Per queue oom work queue")
Cc: stable@vger.kernel.org
Signed-off-by: Abdun Nihaal <redacted>
---
Compile tested only. Issue found using static analysis.

 drivers/net/ethernet/cavium/liquidio/lio_ethtool.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/cavium/liquidio/lio_ethtool.c b/drivers/net/ethernet/cavium/liquidio/lio_ethtool.c
index c849e2c871a9..222ef0b661da 100644
--- a/drivers/net/ethernet/cavium/liquidio/lio_ethtool.c
+++ b/drivers/net/ethernet/cavium/liquidio/lio_ethtool.c
@@ -1242,15 +1242,20 @@ static int lio_reset_queues(struct net_device *netdev, uint32_t num_qs)
 
 		if (setup_rx_oom_poll_fn(netdev)) {
 			dev_err(&oct->pci_dev->dev, "lio_setup_rx_oom_poll_fn failed\n");
+			lio_delete_glists(lio);
 			return 1;
 		}
 
 		/* Send firmware the information about new number of queues
 		 * if the interface is a VF or a PF that is SRIOV enabled.
 		 */
-		if (oct->sriov_info.sriov_enabled || OCTEON_CN23XX_VF(oct))
-			if (lio_send_queue_count_update(netdev, num_qs))
+		if (oct->sriov_info.sriov_enabled || OCTEON_CN23XX_VF(oct)) {
+			if (lio_send_queue_count_update(netdev, num_qs)) {
+				cleanup_rx_oom_poll_fn(netdev);
+				lio_delete_glists(lio);
 				return -1;
+			}
+		}
 	}
 
 	return 0;
-- 
2.43.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help