> -----Original Message-----
> From: Intel-wired-lan <[email protected]> On Behalf
> Of [email protected]
> Sent: Wednesday, July 15, 2026 10:26 AM
> To: Nguyen, Anthony L <[email protected]>; Kitszel,
> Przemyslaw <[email protected]>; Jagielski; Jagielski,
> Jedrzej <[email protected]>; intel-wired-
> [email protected]
> Cc: Andrew Lunn <[email protected]>; Mitch Williams
> <[email protected]>; Greg Rose <[email protected]>;
> Sudheer Mogilappagari <[email protected]>;
> [email protected]; Xuanqiang Luo <[email protected]>;
> [email protected]
> Subject: [Intel-wired-lan] [PATCH iwl-net v2 1/2] iavf: fix ASQ
> command buffer leak on init failure
>
> 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..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 <[email protected]>