1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/net/ethernet/intel
Robert Konklewski beff3e9d80 i40e: Fixed race conditions in VF reset
First, this patch eliminates IOMMU DMAR Faults caused by VF hardware.
This is done by enabling VF hardware only after VSI resources are
freed. Otherwise, hardware could DMA into memory that is (or just has
been) being freed.

Then, the VF driver is activated only after VSI resources have been
reallocated. That's because the VF driver can request resources
immediately after it's activated. So they need to be ready at that
point.

The second race condition happens when the OS initiates a VF reset,
and then before it's finished modifies VF's settings by changing its
MAC, VLAN ID, bandwidth allocation, anti-spoof checking, etc. These
functions needed to be blocked while VF is undergoing reset. Otherwise,
they could operate on data structures that had just been freed or not
yet fully initialized.

Change-ID: I43ba5a7ae2c9a1cce3911611ffc4598ae33ae3ff
Signed-off-by: Robert Konklewski <robertx.konklewski@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2017-03-27 16:45:14 -07:00
..
e1000 e1000: use new API ethtool_{get|set}_link_ksettings 2017-03-21 15:27:58 -07:00
e1000e e1000e: use new API ethtool_{get|set}_link_ksettings 2017-03-21 15:31:30 -07:00
fm10k mqprio: Modify mqprio to pass user parameters via ndo_setup_tc. 2017-03-15 15:20:27 -07:00
i40e i40e: Fixed race conditions in VF reset 2017-03-27 16:45:14 -07:00
i40evf i40e/i40evf: Fix use after free in Rx cleanup path 2017-03-27 16:45:14 -07:00
igb igb: use new API ethtool_{get|set}_link_ksettings 2017-03-21 15:42:19 -07:00
igbvf igbvf: use new API ethtool_{get|set}_link_ksettings 2017-03-21 15:51:39 -07:00
ixgb ixgb: use new API ethtool_{get|set}_link_ksettings 2017-03-21 15:53:19 -07:00
ixgbe igb/ixgbe: Fix typo in igb_build_skb and/or ixgbe_build_skb code comment 2017-03-17 12:55:55 -07:00
ixgbevf ixgbevf: get rid of custom busy polling code 2017-02-03 17:17:53 -05:00
e100.c drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
Kconfig ptp_clock: Allow for it to be optional 2016-11-16 09:26:34 +01:00
Makefile fm10k: Add skeletal frame for Intel(R) FM10000 Ethernet Switch Host Interface Driver 2014-09-23 03:59:13 -07:00