Skip to content

Commit 0848fd6

Browse files
committed
ice: Avoid setting default Rx VSI twice in switchdev setup
jira LE-3428 cve CVE-2025-21883 Rebuild_History Non-Buildable kernel-5.14.0-570.23.1.el9_6 commit-author Marcin Szycik <marcin.szycik@linux.intel.com> commit 5c07be9 As part of switchdev environment setup, uplink VSI is configured as default for both Tx and Rx. Default Rx VSI is also used by promiscuous mode. If promisc mode is enabled and an attempt to enter switchdev mode is made, the setup will fail because Rx VSI is already configured as default (rule exists). Reproducer: devlink dev eswitch set $PF1_PCI mode switchdev ip l s $PF1 up ip l s $PF1 promisc on echo 1 > /sys/class/net/$PF1/device/sriov_numvfs In switchdev setup, use ice_set_dflt_vsi() instead of plain ice_cfg_dflt_vsi(), which avoids repeating setting default VSI for Rx if it's already configured. Fixes: 50d6202 ("ice: default Tx rule instead of to queue") Reported-by: Sujai Buvaneswaran <sujai.buvaneswaran@intel.com> Closes: https://lore.kernel.org/intel-wired-lan/PH0PR11MB50138B635F2E5CEB7075325D961F2@PH0PR11MB5013.namprd11.prod.outlook.com Reviewed-by: Martyna Szapar-Mudlaw <martyna.szapar-mudlaw@linux.intel.com> Signed-off-by: Marcin Szycik <marcin.szycik@linux.intel.com> Reviewed-by: Simon Horman <horms@kernel.org> Tested-by: Sujai Buvaneswaran <sujai.buvaneswaran@intel.com> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com> Link: https://patch.msgid.link/20250224190647.3601930-3-anthony.l.nguyen@intel.com Signed-off-by: Jakub Kicinski <kuba@kernel.org> (cherry picked from commit 5c07be9) Signed-off-by: Jonathan Maple <jmaple@ciq.com>
1 parent 12b12ac commit 0848fd6

File tree

1 file changed

+1
-2
lines changed

1 file changed

+1
-2
lines changed

drivers/net/ethernet/intel/ice/ice_eswitch.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,7 @@ static int ice_eswitch_setup_env(struct ice_pf *pf)
3838
if (ice_vsi_add_vlan_zero(uplink_vsi))
3939
goto err_vlan_zero;
4040

41-
if (ice_cfg_dflt_vsi(uplink_vsi->port_info, uplink_vsi->idx, true,
42-
ICE_FLTR_RX))
41+
if (ice_set_dflt_vsi(uplink_vsi))
4342
goto err_def_rx;
4443

4544
if (ice_cfg_dflt_vsi(uplink_vsi->port_info, uplink_vsi->idx, true,

0 commit comments

Comments
 (0)