* [PATCH iwl-net v2 1/2] iavf: fix ASQ command buffer leak on init failure [not found] <20260715082548.56687-1-xuanqiang.luo@linux.dev> @ 2026-07-15 8:25 ` xuanqiang.luo 2026-07-15 9:28 ` Jagielski, Jedrzej 2026-07-23 9:23 ` [Intel-wired-lan] " Loktionov, Aleksandr 2026-07-15 8:25 ` [PATCH iwl-net v2 2/2] iavf: fix QoS capabilities memory leak xuanqiang.luo 1 sibling, 2 replies; 6+ 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] 6+ messages in thread
* RE: [PATCH iwl-net v2 1/2] iavf: fix ASQ command buffer leak on init failure 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 9:28 ` Jagielski, Jedrzej 2026-07-15 9:40 ` luoxuanqiang 2026-07-23 9:23 ` [Intel-wired-lan] " Loktionov, Aleksandr 1 sibling, 1 reply; 6+ messages in thread From: Jagielski, Jedrzej @ 2026-07-15 9:28 UTC (permalink / raw) To: xuanqiang.luo@linux.dev, Nguyen, Anthony L, Kitszel, Przemyslaw, intel-wired-lan@lists.osuosl.org Cc: Andrew Lunn, Mitch Williams, Greg Rose, Sudheer Mogilappagari, netdev@vger.kernel.org, Xuanqiang Luo, stable@vger.kernel.org From: xuanqiang.luo@linux.dev <xuanqiang.luo@linux.dev> Sent: Wednesday, July 15, 2026 10:26 AM >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 Looks fine, thanks! Reviewed-by: Jedrzej Jagielski <jedrzej.jagielski@intel.com> One note for the future - please be aware that there is minimal time period to be waited before resubmitting new patch revision, which is at least 24h for netdev/IWL mailing lists ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH iwl-net v2 1/2] iavf: fix ASQ command buffer leak on init failure 2026-07-15 9:28 ` Jagielski, Jedrzej @ 2026-07-15 9:40 ` luoxuanqiang 0 siblings, 0 replies; 6+ messages in thread From: luoxuanqiang @ 2026-07-15 9:40 UTC (permalink / raw) To: Jagielski, Jedrzej, Nguyen, Anthony L, Kitszel, Przemyslaw, intel-wired-lan@lists.osuosl.org Cc: Andrew Lunn, Mitch Williams, Greg Rose, Sudheer Mogilappagari, netdev@vger.kernel.org, Xuanqiang Luo, stable@vger.kernel.org 在 2026/7/15 17:28, Jagielski, Jedrzej 写道: > From: xuanqiang.luo@linux.dev <xuanqiang.luo@linux.dev> > Sent: Wednesday, July 15, 2026 10:26 AM > >> 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 > Looks fine, thanks! > > Reviewed-by: Jedrzej Jagielski <jedrzej.jagielski@intel.com> > > One note for the future - please be aware that there is minimal time period to be > waited before resubmitting new patch revision, which is at least 24h for netdev/IWL > mailing lists Thanks for the reminder! I also received a notification from netdev-bot, and I'll keep this in mind for future revisions. ^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: [Intel-wired-lan] [PATCH iwl-net v2 1/2] iavf: fix ASQ command buffer leak on init failure 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 9:28 ` Jagielski, Jedrzej @ 2026-07-23 9:23 ` Loktionov, Aleksandr 1 sibling, 0 replies; 6+ messages in thread From: Loktionov, Aleksandr @ 2026-07-23 9:23 UTC (permalink / raw) To: xuanqiang.luo@linux.dev, Nguyen, Anthony L, Kitszel, Przemyslaw, Jagielski, Dariusz, Jagielski, Jedrzej, intel-wired-lan@lists.osuosl.org Cc: Andrew Lunn, Mitch Williams, Greg Rose, Sudheer Mogilappagari, netdev@vger.kernel.org, Xuanqiang Luo, stable@vger.kernel.org > -----Original Message----- > From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf > Of xuanqiang.luo@linux.dev > Sent: Wednesday, July 15, 2026 10:26 AM > To: Nguyen, Anthony L <anthony.l.nguyen@intel.com>; Kitszel, > Przemyslaw <przemyslaw.kitszel@intel.com>; Jagielski; Jagielski, > Jedrzej <jedrzej.jagielski@intel.com>; intel-wired- > lan@lists.osuosl.org > Cc: Andrew Lunn <andrew+netdev@lunn.ch>; Mitch Williams > <mitch.a.williams@intel.com>; Greg Rose <gregory.v.rose@intel.com>; > Sudheer Mogilappagari <sudheer.mogilappagari@intel.com>; > netdev@vger.kernel.org; Xuanqiang Luo <luoxuanqiang@kylinos.cn>; > stable@vger.kernel.org > Subject: [Intel-wired-lan] [PATCH iwl-net v2 1/2] iavf: fix ASQ > command buffer leak on init failure > > 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 Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com> ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH iwl-net v2 2/2] iavf: fix QoS capabilities memory leak [not found] <20260715082548.56687-1-xuanqiang.luo@linux.dev> 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 2026-07-23 9:24 ` [Intel-wired-lan] " Loktionov, Aleksandr 1 sibling, 1 reply; 6+ 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] 6+ messages in thread
* RE: [Intel-wired-lan] [PATCH iwl-net v2 2/2] iavf: fix QoS capabilities memory leak 2026-07-15 8:25 ` [PATCH iwl-net v2 2/2] iavf: fix QoS capabilities memory leak xuanqiang.luo @ 2026-07-23 9:24 ` Loktionov, Aleksandr 0 siblings, 0 replies; 6+ messages in thread From: Loktionov, Aleksandr @ 2026-07-23 9:24 UTC (permalink / raw) To: xuanqiang.luo@linux.dev, Nguyen, Anthony L, Kitszel, Przemyslaw, Jagielski, Dariusz, Jagielski, Jedrzej, intel-wired-lan@lists.osuosl.org Cc: Andrew Lunn, Mitch Williams, Greg Rose, Sudheer Mogilappagari, netdev@vger.kernel.org, Xuanqiang Luo, stable@vger.kernel.org > -----Original Message----- > From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf > Of xuanqiang.luo@linux.dev > Sent: Wednesday, July 15, 2026 10:26 AM > To: Nguyen, Anthony L <anthony.l.nguyen@intel.com>; Kitszel, > Przemyslaw <przemyslaw.kitszel@intel.com>; Jagielski; Jagielski, > Jedrzej <jedrzej.jagielski@intel.com>; intel-wired- > lan@lists.osuosl.org > Cc: Andrew Lunn <andrew+netdev@lunn.ch>; Mitch Williams > <mitch.a.williams@intel.com>; Greg Rose <gregory.v.rose@intel.com>; > Sudheer Mogilappagari <sudheer.mogilappagari@intel.com>; > netdev@vger.kernel.org; Xuanqiang Luo <luoxuanqiang@kylinos.cn>; > stable@vger.kernel.org > Subject: [Intel-wired-lan] [PATCH iwl-net v2 2/2] iavf: fix QoS > capabilities memory leak > > 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 Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com> ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-07-23 9:24 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20260715082548.56687-1-xuanqiang.luo@linux.dev>
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 9:28 ` Jagielski, Jedrzej
2026-07-15 9:40 ` luoxuanqiang
2026-07-23 9:23 ` [Intel-wired-lan] " Loktionov, Aleksandr
2026-07-15 8:25 ` [PATCH iwl-net v2 2/2] iavf: fix QoS capabilities memory leak xuanqiang.luo
2026-07-23 9:24 ` [Intel-wired-lan] " Loktionov, Aleksandr
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox