* [PATCH iwl-net v2 0/2] iavf: fix two memory leaks
@ 2026-07-15 8:25 xuanqiang.luo
2026-07-15 8:25 ` [PATCH iwl-net v2 1/2] iavf: fix ASQ command buffer leak on init failure xuanqiang.luo
2026-07-15 8:25 ` [PATCH iwl-net v2 2/2] iavf: fix QoS capabilities memory leak xuanqiang.luo
0 siblings, 2 replies; 3+ messages in thread
From: xuanqiang.luo @ 2026-07-15 8:25 UTC (permalink / raw)
To: Tony Nguyen, Przemek Kitszel, Jagielski, Jedrzej, intel-wired-lan
Cc: Andrew Lunn, Mitch Williams, Greg Rose, Sudheer Mogilappagari,
netdev, Xuanqiang Luo
From: Xuanqiang Luo <luoxuanqiang@kylinos.cn>
This series fixes two memory leaks found by inspection in iavf. Release
the ASQ command buffer when initialization fails and the QoS capabilities
buffer when the device is removed.
---
Changes:
v2:
Patch1:
- Move the ASQ command buffer cleanup into iavf_free_adminq_asq() to
pair it with iavf_alloc_adminq_asq_ring(). (Suggested by Jedrzej.)
v1: https://lore.kernel.org/all/20260715061131.34420-1-xuanqiang.luo@linux.dev/
Xuanqiang Luo (2):
iavf: fix ASQ command buffer leak on init failure
iavf: fix QoS capabilities memory leak
drivers/net/ethernet/intel/iavf/iavf_adminq.c | 1 +
drivers/net/ethernet/intel/iavf/iavf_main.c | 1 +
2 files changed, 2 insertions(+)
base-commit: 58717b2a1365d06c8c64b72aa948541b53fe31eb
--
2.43.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH iwl-net v2 1/2] iavf: fix ASQ command buffer leak on init failure
2026-07-15 8:25 [PATCH iwl-net v2 0/2] iavf: fix two memory leaks xuanqiang.luo
@ 2026-07-15 8:25 ` xuanqiang.luo
2026-07-15 8:25 ` [PATCH iwl-net v2 2/2] iavf: fix QoS capabilities memory leak xuanqiang.luo
1 sibling, 0 replies; 3+ messages in thread
From: xuanqiang.luo @ 2026-07-15 8:25 UTC (permalink / raw)
To: Tony Nguyen, Przemek Kitszel, Jagielski, Jedrzej, intel-wired-lan
Cc: Andrew Lunn, Mitch Williams, Greg Rose, Sudheer Mogilappagari,
netdev, Xuanqiang Luo, stable
From: Xuanqiang Luo <luoxuanqiang@kylinos.cn>
iavf_alloc_adminq_asq_ring() allocates cmd_buf before the remaining ASQ
resources. If iavf_alloc_asq_bufs() or iavf_config_asq_regs() fails, the
unwind path elides cmd_buf while freeing the other allocations.
The ASQ count is not set until initialization succeeds, so the shutdown
path cannot reclaim the buffer. Free cmd_buf in the common unwind path.
Fixes: d358aa9a7a2d ("i40evf: init code and hardware support")
Cc: stable@vger.kernel.org
Signed-off-by: Xuanqiang Luo <luoxuanqiang@kylinos.cn>
---
drivers/net/ethernet/intel/iavf/iavf_adminq.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/ethernet/intel/iavf/iavf_adminq.c b/drivers/net/ethernet/intel/iavf/iavf_adminq.c
index 6937b7dd44cbb..40f76f9507f4b 100644
--- a/drivers/net/ethernet/intel/iavf/iavf_adminq.c
+++ b/drivers/net/ethernet/intel/iavf/iavf_adminq.c
@@ -60,6 +60,7 @@ static enum iavf_status iavf_alloc_adminq_arq_ring(struct iavf_hw *hw)
**/
static void iavf_free_adminq_asq(struct iavf_hw *hw)
{
+ iavf_free_virt_mem(hw, &hw->aq.asq.cmd_buf);
iavf_free_dma_mem(hw, &hw->aq.asq.desc_buf);
}
--
2.43.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH iwl-net v2 2/2] iavf: fix QoS capabilities memory leak
2026-07-15 8:25 [PATCH iwl-net v2 0/2] iavf: fix two memory leaks xuanqiang.luo
2026-07-15 8:25 ` [PATCH iwl-net v2 1/2] iavf: fix ASQ command buffer leak on init failure xuanqiang.luo
@ 2026-07-15 8:25 ` xuanqiang.luo
1 sibling, 0 replies; 3+ messages in thread
From: xuanqiang.luo @ 2026-07-15 8:25 UTC (permalink / raw)
To: Tony Nguyen, Przemek Kitszel, Jagielski, Jedrzej, intel-wired-lan
Cc: Andrew Lunn, Mitch Williams, Greg Rose, Sudheer Mogilappagari,
netdev, Xuanqiang Luo, stable
From: Xuanqiang Luo <luoxuanqiang@kylinos.cn>
Commit 4c1a457cb8b0 ("iavf: add support to exchange qos capabilities")
allocates adapter->qos_caps during probe, but iavf_remove() does not
free it. This leaks the allocation whenever an iavf device is removed.
Free adapter->qos_caps in iavf_remove().
Fixes: 4c1a457cb8b0 ("iavf: add support to exchange qos capabilities")
Cc: stable@vger.kernel.org
Reviewed-by: Jedrzej Jagielski <jedrzej.jagielski@intel.com>
Signed-off-by: Xuanqiang Luo <luoxuanqiang@kylinos.cn>
---
drivers/net/ethernet/intel/iavf/iavf_main.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/ethernet/intel/iavf/iavf_main.c b/drivers/net/ethernet/intel/iavf/iavf_main.c
index 29b8403a066bc..c7f69a9040588 100644
--- a/drivers/net/ethernet/intel/iavf/iavf_main.c
+++ b/drivers/net/ethernet/intel/iavf/iavf_main.c
@@ -5589,6 +5589,7 @@ static void iavf_remove(struct pci_dev *pdev)
iounmap(hw->hw_addr);
pci_release_regions(pdev);
kfree(adapter->vf_res);
+ kfree(adapter->qos_caps);
spin_lock_bh(&adapter->mac_vlan_list_lock);
/* If we got removed before an up/down sequence, we've got a filter
* hanging out there that we need to get rid of.
--
2.43.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-07-15 8:27 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-15 8:25 [PATCH iwl-net v2 0/2] iavf: fix two memory leaks xuanqiang.luo
2026-07-15 8:25 ` [PATCH iwl-net v2 1/2] iavf: fix ASQ command buffer leak on init failure xuanqiang.luo
2026-07-15 8:25 ` [PATCH iwl-net v2 2/2] iavf: fix QoS capabilities memory leak xuanqiang.luo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox