]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ice: fix FDIR CTRL VSI resource leak in ice_reset_all_vfs()
authorDawid Osuchowski <dawid.osuchowski@linux.intel.com>
Fri, 27 Mar 2026 07:22:32 +0000 (08:22 +0100)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Mon, 22 Jun 2026 21:04:01 +0000 (14:04 -0700)
Resetting all VFs causes resource leak on VFs with FDIR filters
enabled as CTRL VSIs are only invalidated and not freed. Fix by using
ice_vf_ctrl_vsi_release() instead of ice_vf_ctrl_invalidate_vsi() which
aligns behavior with the ice_reset_vf() function.

Reproduction:
  echo 1 > /sys/class/net/$pf/device/sriov_numvfs
  ethtool -N $vf flow-type ether proto 0x9000 action 0
  echo 1 > /sys/class/net/$pf/device/reset

Fixes: da62c5ff9dcd ("ice: Add support for per VF ctrl VSI enabling")
Signed-off-by: Dawid Osuchowski <dawid.osuchowski@linux.intel.com>
Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Tested-by: Rafal Romanowski <rafal.romanowski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice_vf_lib.c

index b1f46707dcc00485cb6610505d546ab52f1ad78d..27e4acb1620f0c3381e0f3b60f49f0b93176ea61 100644 (file)
@@ -801,7 +801,7 @@ void ice_reset_all_vfs(struct ice_pf *pf)
                 * setup only when VF creates its first FDIR rule.
                 */
                if (vf->ctrl_vsi_idx != ICE_NO_VSI)
-                       ice_vf_ctrl_invalidate_vsi(vf);
+                       ice_vf_ctrl_vsi_release(vf);
 
                ice_vf_pre_vsi_rebuild(vf);
                if (ice_vf_rebuild_vsi(vf)) {