From: Hannes Frederic Sowa Date: Mon, 18 Apr 2016 19:19:45 +0000 (+0200) Subject: ixgbe: protect vxlan_get_rx_port in ixgbe_service_task with rtnl_lock X-Git-Tag: v4.1.12-92~2^2~199 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=62fae7de558b06ca0bbb88e60e38708ea6a5e5e8;p=users%2Fjedix%2Flinux-maple.git ixgbe: protect vxlan_get_rx_port in ixgbe_service_task with rtnl_lock Orabug: 24568240 vxlan_get_rx_port requires rtnl_lock to be held. Cc: Jeff Kirsher Cc: Jesse Brandeburg Cc: Shannon Nelson Cc: Carolyn Wyborny Cc: Don Skidmore Cc: Bruce Allan Cc: John Ronciak Cc: Mitch Williams Signed-off-by: Hannes Frederic Sowa Signed-off-by: David S. Miller (cherry picked from commit b1f99a787e8239da3ea859709f5fb60b3fd02c13) Signed-off-by: Brian Maly --- diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c index 74f2ed8a8da8b..4c2bdf27120a6 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c @@ -7181,10 +7181,12 @@ static void ixgbe_service_task(struct work_struct *work) return; } #ifdef CONFIG_IXGBE_VXLAN + rtnl_lock(); if (adapter->flags2 & IXGBE_FLAG2_VXLAN_REREG_NEEDED) { adapter->flags2 &= ~IXGBE_FLAG2_VXLAN_REREG_NEEDED; vxlan_get_rx_port(adapter->netdev); } + rtnl_unlock(); #endif /* CONFIG_IXGBE_VXLAN */ ixgbe_reset_subtask(adapter); ixgbe_phy_interrupt_subtask(adapter);