Skip to content

Commit 234e615

Browse files
mohammadheibanguy11
authored andcommitted
ice: drop udp_tunnel_get_rx_info() call from ndo_open()
The ice driver calls udp_tunnel_get_rx_info() during ice_open_internal(). This is redundant because UDP tunnel RX offload state is preserved across device down/up cycles. The udp_tunnel core handles synchronization automatically when required. Furthermore, recent changes in the udp_tunnel infrastructure require querying RX info while holding the udp_tunnel lock. Calling it directly from the ndo_open path violates this requirement, triggering the following lockdep warning: Call Trace: <TASK> ice_open_internal+0x253/0x350 [ice] __udp_tunnel_nic_assert_locked+0x86/0xb0 [udp_tunnel] __dev_open+0x2f5/0x880 __dev_change_flags+0x44c/0x660 netif_change_flags+0x80/0x160 devinet_ioctl+0xd21/0x15f0 inet_ioctl+0x311/0x350 sock_ioctl+0x114/0x220 __x64_sys_ioctl+0x131/0x1a0 ... </TASK> Remove the redundant and unsafe call to udp_tunnel_get_rx_info() from ice_open_internal() to resolve the locking violation Fixes: 1ead750 ("udp_tunnel: remove rtnl_lock dependency") Signed-off-by: Mohammad Heib <[email protected]> Reviewed-by: Aleksandr Loktionov <[email protected]> Tested-by: Rinitha S <[email protected]> (A Contingent worker at Intel) Signed-off-by: Tony Nguyen <[email protected]>
1 parent fc6f36e commit 234e615

1 file changed

Lines changed: 0 additions & 3 deletions

File tree

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9662,9 +9662,6 @@ int ice_open_internal(struct net_device *netdev)
96629662
netdev_err(netdev, "Failed to open VSI 0x%04X on switch 0x%04X\n",
96639663
vsi->vsi_num, vsi->vsw->sw_id);
96649664

9665-
/* Update existing tunnels information */
9666-
udp_tunnel_get_rx_info(netdev);
9667-
96689665
return err;
96699666
}
96709667

0 commit comments

Comments
 (0)