linux/drivers/net/ethernet/intel/igb
Todd Fujinaka 9474933caf igb: close/suspend race in netif_device_detach
Similar to ixgbe, when an interface is part of a namespace it is
possible that igb_close() may be called while __igb_shutdown() is
running which ends up in a double free WARN and/or a BUG in
free_msi_irqs().

Extend the rtnl_lock() to protect the call to netif_device_detach() and
igb_clear_interrupt_scheme() in __igb_shutdown() and check for
netif_device_present() to avoid calling igb_clear_interrupt_scheme() a
second time in igb_close().

Also extend the rtnl lock in igb_resume() to netif_device_attach().

Signed-off-by: Todd Fujinaka <todd.fujinaka@intel.com>
Acked-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-01-06 02:18:51 -08:00
..
e1000_82575.c igb: reset the PHY before reading the PHY ID 2017-01-06 02:18:51 -08:00
e1000_82575.h igb: support RX flow classification by ethertype 2016-08-18 22:27:48 -07:00
e1000_defines.h ethernet/intel: use core min/max MTU checking 2016-10-18 11:34:18 -04:00
e1000_hw.h igb: constify e1000_phy_operations structure 2016-02-24 15:11:07 -08:00
e1000_i210.c igb: Remove GS40G specific defines/functions 2015-12-14 10:20:06 -08:00
e1000_i210.h igb: Remove GS40G specific defines/functions 2015-12-14 10:20:06 -08:00
e1000_mac.c igb: Realign bad indentation 2017-01-06 02:18:49 -08:00
e1000_mac.h igb: Merge VLVF configuration into igb_vfta_set 2016-02-15 16:36:52 -08:00
e1000_mbx.c igb: use BIT() macro or unsigned prefix 2016-05-13 14:39:47 -07:00
e1000_mbx.h
e1000_nvm.c igb: use BIT() macro or unsigned prefix 2016-05-13 14:39:47 -07:00
e1000_nvm.h
e1000_phy.c igb: Workaround for igb i210 firmware issue 2017-01-06 02:18:50 -08:00
e1000_phy.h igb: use BIT() macro or unsigned prefix 2016-05-13 14:39:47 -07:00
e1000_regs.h igb: correct register comments 2017-01-06 02:18:50 -08:00
igb_ethtool.c igb: fix non static symbol warning 2016-09-27 19:00:52 -07:00
igb_hwmon.c
igb_main.c igb: close/suspend race in netif_device_detach 2017-01-06 02:18:51 -08:00
igb_ptp.c clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
igb.h igb: update code to better handle incrementing page count 2016-12-14 16:04:08 -08:00
Makefile