[Patch] network-i40e:NVM bug fixes (cherrypick from 4.14)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
intel |
Fix Released
|
Undecided
|
Unassigned | ||
linux (Ubuntu) |
Fix Released
|
High
|
Seth Forshee |
Bug Description
Description:
Theses two commits need to be cherrypicked from upstream to 4.12/4.13 and integrated into 17.10
Target Kernel: 4.14
Target Release: 17.10
Action: Cherrypick
Here are the two commit id's:
commit 3c8f3e96af3a679
Author: Jacob Keller <email address hidden>
Date: Fri Sep 1 13:43:08 2017 -0700
i40e: point wb_desc at the nvm_wb_desc during i40e_read_nvm_aq
When introducing the functions to read the NVM through the AdminQ,
we
did not correctly mark the wb_desc.
Fixes: 7073f46e443e ("i40e: Add AQ commands for NVM Update for
X722", 2015-06-05)
Tested-by: Andrew Bowers <email address hidden>
commit 09f79fd49d94cda
Author: Anjali Singhai Jain <email address hidden>
Date: Fri Sep 1 13:42:49 2017 -0700
i40e: avoid NVM acquire deadlock during NVM update
X722 devices use the AdminQ to access the NVM, and this requires
taking
the AdminQ lock. Because of this, we lock the AdminQ during
already held, such as the firmware update path which wants to lock
once
and then unlock when finished after performing several tasks.
Although this should have only affected X722 devices, commit
2016-12-02) added locking for all NVM reads, regardless of device
family.
This resulted in us accidentally causing NVM acquire timeouts on
all
devices, causing failed firmware updates which left the eeprom in
a corrupt state.
Create unsafe non-locked variants of i40e_read_nvm_word and
__i40e_
expected
to only be called in places where the NVM lock is already held if
needed.
Since the only caller of i40e_read_
remove it entirely in favor of the unsafe version. If necessary we
can
always add it back in the future.
i40e_
because the call to i40e_calc_
lock
is held. We can further move the call to read
I40E_
up a bit so that we do not need to acquire the NVM lock twice.
This should resolve firmware updates and also fix potential raise
that
could have caused the driver to report an invalid NVM checksum upon
driver load.
Fixes: 96a39aed25e6 ("i40e: Acquire NVM lock before reads on all
devices", 2016-12-02)
Tested-by: Andrew Bowers <email address hidden>
CVE References
information type: | Proprietary → Public |
Changed in linux (Ubuntu): | |
status: | New → Triaged |
importance: | Undecided → High |
assignee: | nobody → Seth Forshee (sforshee) |
Changed in intel: | |
status: | New → Fix Released |
cherrypick is needed for 17.10 release.