aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel/ice/ice_main.c
diff options
context:
space:
mode:
authorLarysa Zaremba <[email protected]>2024-08-23 09:59:29 +0000
committerTony Nguyen <[email protected]>2024-09-03 16:01:08 +0000
commitd8c40b9d3a6cef61eb5a0c58c34a3090ea938d89 (patch)
tree21dad620b2ca83810ec362edb35e0652991a24a1 /drivers/net/ethernet/intel/ice/ice_main.c
parentice: check for XDP rings instead of bpf program when unconfiguring (diff)
downloadkernel-d8c40b9d3a6cef61eb5a0c58c34a3090ea938d89.tar.gz
kernel-d8c40b9d3a6cef61eb5a0c58c34a3090ea938d89.zip
ice: check ICE_VSI_DOWN under rtnl_lock when preparing for reset
Consider the following scenario: .ndo_bpf() | ice_prepare_for_reset() | ________________________|_______________________________________| rtnl_lock() | | ice_down() | | | test_bit(ICE_VSI_DOWN) - true | | ice_dis_vsi() returns | ice_up() | | | proceeds to rebuild a running VSI | .ndo_bpf() is not the only rtnl-locked callback that toggles the interface to apply new configuration. Another example is .set_channels(). To avoid the race condition above, act only after reading ICE_VSI_DOWN under rtnl_lock. Fixes: 0f9d5027a749 ("ice: Refactor VSI allocation, deletion and rebuild flow") Reviewed-by: Wojciech Drewek <[email protected]> Reviewed-by: Jacob Keller <[email protected]> Tested-by: Chandan Kumar Rout <[email protected]> Signed-off-by: Larysa Zaremba <[email protected]> Reviewed-by: Maciej Fijalkowski <[email protected]> Signed-off-by: Tony Nguyen <[email protected]>
Diffstat (limited to 'drivers/net/ethernet/intel/ice/ice_main.c')
0 files changed, 0 insertions, 0 deletions