|
|
078ac8 |
Intel Sandy Bridge-E/EN/EP CPU models (SNB-EP, family 6, model 45, stepping 7)
|
|
|
078ac8 |
have issues with MDS-related microcode update that may lead to a system hang
|
|
|
3a6b56 |
after a microcode update[1][2]. In order to address this, microcode update
|
|
|
078ac8 |
to the MDS-related revision 0x718 has been disabled, and the previously
|
|
|
078ac8 |
published microcode revision 0x714 is used by default for the OS-driven
|
|
|
078ac8 |
microcode update.
|
|
|
078ac8 |
|
|
|
3a6b56 |
[1] https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/issues/15
|
|
|
3a6b56 |
[2] https://access.redhat.com/solutions/4593951
|
|
|
3a6b56 |
|
|
|
078ac8 |
For the reference, SHA1 checksums of 06-2d-07 microcode files containing
|
|
|
078ac8 |
microcode revisions in question are listed below:
|
|
|
078ac8 |
* 06-2d-07, revision 0x714: bcf2173cd3dd499c37defbc2533703cfa6ec2430
|
|
|
078ac8 |
* 06-2d-07, revision 0x718: 837cfebbfc09b911151dfd179082ad99cf87e85d
|
|
|
ebb8cf |
* 06-2d-07, revision 0x71a: 4512c8149e63e5ed15f45005d7fb5be0041f66f6
|
|
|
078ac8 |
|
|
|
078ac8 |
Please contact your system vendor for a BIOS/firmware update that contains
|
|
|
3a6b56 |
the latest microcode version. For the information regarding microcode versions
|
|
|
078ac8 |
required for mitigating specific side-channel cache attacks, please refer
|
|
|
078ac8 |
to the following knowledge base articles:
|
|
|
078ac8 |
* CVE-2017-5715 ("Spectre"):
|
|
|
078ac8 |
https://access.redhat.com/articles/3436091
|
|
|
078ac8 |
* CVE-2018-3639 ("Speculative Store Bypass"):
|
|
|
078ac8 |
https://access.redhat.com/articles/3540901
|
|
|
078ac8 |
* CVE-2018-3620, CVE-2018-3646 ("L1 Terminal Fault Attack"):
|
|
|
078ac8 |
https://access.redhat.com/articles/3562741
|
|
|
078ac8 |
* CVE-2018-12130, CVE-2018-12126, CVE-2018-12127, and CVE-2019-11091
|
|
|
078ac8 |
("Microarchitectural Data Sampling"):
|
|
|
078ac8 |
https://access.redhat.com/articles/4138151
|
|
|
078ac8 |
|
|
|
078ac8 |
The information regarding enforcing microcode load is provided below.
|
|
|
078ac8 |
|
|
|
078ac8 |
To enforce usage of the 0x718 microcode revision for a specific kernel version,
|
|
|
078ac8 |
please create file "force-intel-06-2d-07" inside /lib/firmware/<kernel_version>
|
|
|
078ac8 |
directory, run "/usr/libexec/microcode_ctl/update_ucode" to add it to firmware
|
|
|
078ac8 |
directory where microcode will be available for late microcode update,
|
|
|
078ac8 |
and run "dracut -f --kver <kernel_version>", so initramfs for this kernel
|
|
|
078ac8 |
version is regenerated and the microcode can be loaded early, for example:
|
|
|
078ac8 |
|
|
|
078ac8 |
touch /lib/firmware/3.10.0-862.9.1/force-intel-06-2d-07
|
|
|
078ac8 |
/usr/libexec/microcode_ctl/update_ucode
|
|
|
078ac8 |
dracut -f --kver 3.10.0-862.9.1
|
|
|
078ac8 |
|
|
|
078ac8 |
After that, it is possible to perform a late microcode update by executing
|
|
|
078ac8 |
"/usr/libexec/microcode_ctl/reload_microcode" or by writing value "1" to
|
|
|
078ac8 |
"/sys/devices/system/cpu/microcode/reload" directly.
|
|
|
078ac8 |
|
|
|
078ac8 |
To enforce addition of this microcode for all kernels, please create file
|
|
|
078ac8 |
"/etc/microcode_ctl/ucode_with_caveats/force-intel-06-2d-07", run
|
|
|
078ac8 |
"/usr/libexec/microcode_ctl/update_ucode" for enabling late microcode updates,
|
|
|
078ac8 |
and "dracut -f --regenerate-all" for enabling early microcode updates:
|
|
|
078ac8 |
|
|
|
078ac8 |
mkdir -p /etc/microcode_ctl/ucode_with_caveats
|
|
|
078ac8 |
touch /etc/microcode_ctl/ucode_with_caveats/force-intel-06-2d-07
|
|
|
078ac8 |
/usr/libexec/microcode_ctl/update_ucode
|
|
|
078ac8 |
dracut -f --regenerate-all
|
|
|
078ac8 |
|
|
|
078ac8 |
Please refer to /usr/share/doc/microcode_ctl/README.caveats for additional
|
|
|
078ac8 |
information.
|