Blame SPECS/06-4e-03_readme

Packit e3b5e1
Some Intel Skylake CPU models (SKL-U/Y, family 6, model 78, stepping 3)
Packit e3b5e1
have reports of system hangs when revision 0xdc of microcode, that is included
Packit e3b5e1
since microcode-20200609 update to address CVE-2020-0543, CVE-2020-0548,
Packit e3b5e1
and CVE-2020-0549, is applied[1].  In order to address this, microcode update
Packit e3b5e1
to the newer revision has been disabled by default on these systems,
Packit e3b5e1
and the previously published microcode revision 0xd6 is used by default
Packit e3b5e1
for the OS-driven microcode update.
Packit e3b5e1
Packit e3b5e1
[1] https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/issues/31
Packit e3b5e1
Packit Service 10856b
For the reference, SHA1 checksums of 06-4e-03 microcode files containing
Packit e3b5e1
microcode revisions in question are listed below:
Packit e3b5e1
 * 06-4e-03, revision 0xd6: 06432a25053c823b0e2a6b8e84e2e2023ee3d43e
Packit e3b5e1
 * 06-4e-03, revision 0xdc: cd1733458d187486999337ff8b51eeaa0cfbca6c
Packit Service 10856b
 * 06-4e-03, revision 0xe2: 41f4513cf563605bc85db38056ac430dec948366
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-4e-03 microcode revision for a specific kernel
Packit e3b5e1
version, please create a file "force-intel-06-4e-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-4e-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-4e-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-4e-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.