Blame SPECS/06-2d-07_readme

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