Re: [Intel-wired-lan] [PATCH iwl-net v1 1/2] iavf: fix ASQ command buffer leak on init failure
"Jagielski, Jedrzej" <[email protected]> Wed, 15 Jul 2026 07:24:30 +0000
| Newsgroups | org.osuosl.intel-wired-lan,org.kernel.vger.netdev,org.kernel.vger.stable |
|---|---|
| Message-ID | <PH0PR11MB590272FD2023440F52E95689F0F82@PH0PR11MB5902.namprd11.prod.outlook.com> |
From: [email protected] <[email protected]> Sent: Wednesday, July 15, 2026 8:12 AM >From: Xuanqiang Luo <[email protected]> > >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: [email protected] >Signed-off-by: Xuanqiang Luo <[email protected]> >--- > 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..82a32f8e78c12 100644 >--- a/drivers/net/ethernet/intel/iavf/iavf_adminq.c >+++ b/drivers/net/ethernet/intel/iavf/iavf_adminq.c >@@ -346,6 +346,7 @@ static enum iavf_status iavf_init_asq(struct iavf_hw *hw) > iavf_free_virt_mem(hw, &hw->aq.asq.dma_head); > > init_adminq_free_rings: >+ iavf_free_virt_mem(hw, &hw->aq.asq.cmd_buf); Hi Xuanqiang much thanks for the patches! how about moving that line directly into iavf_free_adminq_asq()? then free func would be paired 1:1 with alloc func > iavf_free_adminq_asq(hw); > > init_adminq_exit: >-- >2.43.0