Blame SOURCES/06-4e-03_readme

6e6257
Some Intel Skylake CPU models (SKL-U/Y, family 6, model 78, stepping 3)
6e6257
have reports of system hangs when revision 0xdc of microcode, that is included
6e6257
since microcode-20200609 update to address CVE-2020-0543, CVE-2020-0548,
6e6257
and CVE-2020-0549, is applied[1].  In order to address this, microcode update
6e6257
to the newer revision has been disabled by default on these systems,
6e6257
and the previously published microcode revision 0xd6 is used by default
6e6257
for the OS-driven microcode update.
6e6257
6e6257
[1] https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/issues/31
6e6257
36ce7f
For the reference, SHA1 checksums of 06-4e-03 microcode files containing
6e6257
microcode revisions in question are listed below:
6e6257
 * 06-4e-03, revision 0xd6: 06432a25053c823b0e2a6b8e84e2e2023ee3d43e
6e6257
 * 06-4e-03, revision 0xdc: cd1733458d187486999337ff8b51eeaa0cfbca6c
36ce7f
 * 06-4e-03, revision 0xe2: 41f4513cf563605bc85db38056ac430dec948366
6e6257
6e6257
Please contact your system vendor for a BIOS/firmware update that contains
6e6257
the latest microcode version.  For the information regarding microcode versions
6e6257
required for mitigating specific side-channel cache attacks, please refer
6e6257
to the following knowledge base articles:
6e6257
 * CVE-2017-5715 ("Spectre"):
6e6257
   https://access.redhat.com/articles/3436091
6e6257
 * CVE-2018-3639 ("Speculative Store Bypass"):
6e6257
   https://access.redhat.com/articles/3540901
6e6257
 * CVE-2018-3620, CVE-2018-3646 ("L1 Terminal Fault Attack"):
6e6257
   https://access.redhat.com/articles/3562741
6e6257
 * CVE-2018-12130, CVE-2018-12126, CVE-2018-12127, and CVE-2019-11091
6e6257
   ("Microarchitectural Data Sampling"):
6e6257
   https://access.redhat.com/articles/4138151
6e6257
 * CVE-2019-0117 (Intel SGX Information Leak),
6e6257
   CVE-2019-0123 (Intel SGX Privilege Escalation),
6e6257
   CVE-2019-11135 (TSX Asynchronous Abort),
6e6257
   CVE-2019-11139 (Voltage Setting Modulation):
6e6257
   https://access.redhat.com/solutions/2019-microcode-nov
6e6257
 * CVE-2020-0543 (Special Register Buffer Data Sampling),
6e6257
   CVE-2020-0548 (Vector Register Data Sampling),
6e6257
   CVE-2020-0549 (L1D Cache Eviction Sampling):
6e6257
   https://access.redhat.com/solutions/5142751
6e6257
6e6257
The information regarding enforcing microcode update is provided below.
6e6257
6e6257
To enforce usage of the latest 06-4e-03 microcode revision for a specific kernel
6e6257
version, please create a file "force-intel-06-4e-03" inside
6e6257
/lib/firmware/<kernel_version> directory, run
6e6257
"/usr/libexec/microcode_ctl/update_ucode" to add it to firmware directory
6e6257
where microcode will be available for late microcode update, and run
6e6257
"dracut -f --kver <kernel_version>", so initramfs for this kernel version
6e6257
is regenerated and the microcode can be loaded early, for example:
6e6257
6e6257
    touch /lib/firmware/3.10.0-862.9.1/force-intel-06-4e-03
6e6257
    /usr/libexec/microcode_ctl/update_ucode
6e6257
    dracut -f --kver 3.10.0-862.9.1
6e6257
6e6257
After that, it is possible to perform a late microcode update by executing
6e6257
"/usr/libexec/microcode_ctl/reload_microcode" or by writing value "1" to
6e6257
"/sys/devices/system/cpu/microcode/reload" directly.
6e6257
6e6257
To enforce addition of this microcode for all kernels, please create file
6e6257
"/etc/microcode_ctl/ucode_with_caveats/force-intel-06-4e-03", run
6e6257
"/usr/libexec/microcode_ctl/update_ucode" for enabling late microcode updates,
6e6257
and "dracut -f --regenerate-all" for enabling early microcode updates:
6e6257
6e6257
    mkdir -p /etc/microcode_ctl/ucode_with_caveats
6e6257
    touch /etc/microcode_ctl/ucode_with_caveats/force-intel-06-4e-03
6e6257
    /usr/libexec/microcode_ctl/update_ucode
6e6257
    dracut -f --regenerate-all
6e6257
6e6257
Please refer to /usr/share/doc/microcode_ctl/README.caveats for additional
6e6257
information.