OSDN Git Service

i40e: Fix crash caused by stress setting of VF MAC addresses
authorSlawomir Laba <slawomirx.laba@intel.com>
Tue, 23 Jul 2019 10:01:39 +0000 (06:01 -0400)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Thu, 22 Aug 2019 20:24:14 +0000 (13:24 -0700)
commit9889707b06acfe9bb37a6edcaae627d4a5eacc72
tree80a0c117a328e4565283adc33ce45216f33ddaa8
parent1e0303fd29428e3e3bbd8edf72f80750f86a7116
i40e: Fix crash caused by stress setting of VF MAC addresses

Add update to the VSI pointer passed to the i40e_set_vf_mac function.
If VF is in reset state the driver waits in i40e_set_vf_mac function
for the reset to be complete, yet after reset the vsi pointer
that was passed into this function is no longer valid.

The patch updates local VSI pointer directly from pf->vsi array,
by using the id stored in VF pointer (lan_vsi_idx).

Without this commit the driver might occasionally invoke general
protection fault in kernel and disable the OS entirely.

Signed-off-by: Slawomir Laba <slawomirx.laba@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c