Blame SPECS/06-5e-03_readme

Packit e3b5e1
Some Intel Skylake CPU models (SKL-H/S/Xeon E3 v5, family 6, model 94,
Packit e3b5e1
stepping 3) have reports of possible system hangs when revision 0xdc
Packit e3b5e1
of microcode, that is included in microcode-20200609 update to address
Packit e3b5e1
CVE-2020-0543, CVE-2020-0548, and CVE-2020-0549, is applied[1].  In order
Packit e3b5e1
to address this, microcode update to the newer revision has been disabled
Packit e3b5e1
by default on these systems, and the previously published microcode revision
Packit e3b5e1
0xd6 is used by default for the OS-driven microcode update.
Packit e3b5e1
Packit e3b5e1
[1] https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/issues/31#issuecomment-644885826
Packit e3b5e1
Packit Service 10856b
For the reference, SHA1 checksums of 06-5e-03 microcode files containing
Packit e3b5e1
microcode revisions in question are listed below:
Packit e3b5e1
 * 06-5e-03, revision 0xd6: 86c60ee7d5d0d7115a4962c1c61ceecb0fd3a95a
Packit e3b5e1
 * 06-5e-03, revision 0xdc: 5e1020a10678cfc60980131c3d3a2cfd462b4dd7
Packit Service 10856b
 * 06-5e-03, revision 0xe2: 031e6e148b590d1c9cfdb6677539eeb4899e831c
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
 * CVE-2019-0117 (Intel SGX Information Leak),
Packit e3b5e1
   CVE-2019-0123 (Intel SGX Privilege Escalation),
Packit e3b5e1
   CVE-2019-11135 (TSX Asynchronous Abort),
Packit e3b5e1
   CVE-2019-11139 (Voltage Setting Modulation):
Packit e3b5e1
   https://access.redhat.com/solutions/2019-microcode-nov
Packit e3b5e1
 * CVE-2020-0543 (Special Register Buffer Data Sampling),
Packit e3b5e1
   CVE-2020-0548 (Vector Register Data Sampling),
Packit e3b5e1
   CVE-2020-0549 (L1D Cache Eviction Sampling):
Packit e3b5e1
   https://access.redhat.com/solutions/5142751
Packit Service 10856b
 * CVE-2020-8695 (Information disclosure issue in Intel SGX via RAPL interface),
Packit Service 10856b
   CVE-2020-8696 (Vector Register Leakage-Active),
Packit Service 10856b
   CVE-2020-8698 (Fast Forward Store Predictor):
Packit Service 10856b
   https://access.redhat.com/articles/5569051
Packit e3b5e1
Packit e3b5e1
The information regarding enforcing microcode update is provided below.
Packit e3b5e1
Packit e3b5e1
To enforce usage of the latest 06-5e-03 microcode revision for a specific kernel
Packit e3b5e1
version, please create a file "force-intel-06-5e-03" 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/force-intel-06-5e-03
Packit e3b5e1
    /usr/libexec/microcode_ctl/update_ucode
Packit e3b5e1
    dracut -f --kver 3.10.0-862.9.1
Packit e3b5e1
Packit e3b5e1
After that, it is possible to perform a late microcode update by executing
Packit e3b5e1
"/usr/libexec/microcode_ctl/reload_microcode" or by writing value "1" to
Packit e3b5e1
"/sys/devices/system/cpu/microcode/reload" directly.
Packit e3b5e1
Packit e3b5e1
To enforce addition of this microcode for all kernels, please create file
Packit e3b5e1
"/etc/microcode_ctl/ucode_with_caveats/force-intel-06-5e-03", run
Packit e3b5e1
"/usr/libexec/microcode_ctl/update_ucode" for enabling late microcode updates,
Packit e3b5e1
and "dracut -f --regenerate-all" for enabling early microcode updates:
Packit e3b5e1
Packit e3b5e1
    mkdir -p /etc/microcode_ctl/ucode_with_caveats
Packit e3b5e1
    touch /etc/microcode_ctl/ucode_with_caveats/force-intel-06-5e-03
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.