Re: [PATCH net 1/3] i40e: keep q_vectors array in sync with channel count changes
From: Jakub Kicinski <kuba@kernel.org>
Date: 2026-06-05 23:39:37
On Fri, 5 Jun 2026 11:01:19 -0700 Tony Nguyen wrote:
quoted
Should the new err_lump label, and the existing err_vsi exits from the two allocation steps above, instead unwind through the err_rings block (unregister_netdev / free_netdev / i40e_devlink_destroy_port / i40e_aq_delete_element) the way i40e_vsi_setup()'s err_msix path does? The pre-patch code had the same defective err_vsi target for the qp_pile and arrays paths, but the patch adds two new failure points (the unconditional q_vectors kzalloc and the new i40e_vsi_setup_vectors() call) that route into it during reset rebuild, where vsi->netdev is already registered.This does seem valid, but as mentioned by Sashiko the pre-patch code has the same target/issue. There's a recent submission [1], with changes requested, that should cover this. Did you want to take this now or wait and have it sent with this other one?
Hm. I convinced myself yesterday that the old code did _not_
have the issue because it was pass false as the second arg to
i40e_vsi_{alloc,free}_arrays() ? Good chance that I misread,
it's tricky code. As much as I would love to apply this to prevent
the deadlock in NIPA - let's wait for the follow up. I'll pick up
the other two patches from this series off the list.