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