Blame SPECS/06-4f-01_readme

Packit e3b5e1
Intel Broadwell-EP/EX (BDX-ML B/M/R0, family 6, model 79, stepping 1) has issues
Packit e3b5e1
with microcode update that may lead to a system hang; while some changes
Packit e3b5e1
to the Linux kernel have been made in an attempt to address these issues,
Packit e3b5e1
they were not eliminated, so a possibility of unstable system behaviour
Packit e3b5e1
after a microcode update performed on a running system is still present even
Packit e3b5e1
on a kernels that contain aforementioned changes.  As a result, microcode update
Packit e3b5e1
for this CPU model has been disabled by default.
Packit e3b5e1
Packit e3b5e1
For the reference, kernel versions for the respective RHEL minor versions
Packit e3b5e1
that contain the aforementioned changes, are listed below:
Packit e3b5e1
 * Upstream/RHEL 8: kernel-4.17.0 or newer;
Packit e3b5e1
 * RHEL 7.6 onwards: kernel-3.10.0-894 or newer;
Packit e3b5e1
 * RHEL 7.5.z: kernel-3.10.0-862.6.1 or newer;
Packit e3b5e1
 * RHEL 7.4.z: kernel-3.10.0-693.35.1 or newer;
Packit e3b5e1
 * RHEL 7.3.z: kernel-3.10.0-514.52.1 or newer;
Packit e3b5e1
 * RHEL 7.2.z: kernel-3.10.0-327.70.1 or newer.
Packit e3b5e1
Packit e3b5e1
Please contact you 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 enforcing microcode load is provided below.
Packit e3b5e1
Packit e3b5e1
For enforcing addition of this microcode to the firmware directory
Packit e3b5e1
for a specific kernel, where it is available for a late microcode update,
Packit e3b5e1
please create a file "force-late-intel-06-4f-01" inside
Packit e3b5e1
/lib/firmware/<kernel_version> directory and run
Packit e3b5e1
"/usr/libexec/microcode_ctl/update_ucode":
Packit e3b5e1
Packit e3b5e1
    touch /lib/firmware/3.10.0-862.9.1/force-late-intel-06-4f-01
Packit e3b5e1
    /usr/libexec/microcode_ctl/update_ucode
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
For enforcing addition of this microcode to firmware directories for all
Packit e3b5e1
kernels, please create a file
Packit e3b5e1
"/etc/microcode_ctl/ucode_with_caveats/force-late-intel-06-4f-01"
Packit e3b5e1
and run "/usr/libexec/microcode_ctl/update_ucode":
Packit e3b5e1
Packit e3b5e1
    mkdir -p /etc/microcode_ctl/ucode_with_caveats
Packit e3b5e1
    touch /etc/microcode_ctl/ucode_with_caveats/force-late-intel-06-4f-01
Packit e3b5e1
    /usr/libexec/microcode_ctl/update_ucode
Packit e3b5e1
Packit e3b5e1
For enforcing early load of this microcode for a specific kernel, please
Packit e3b5e1
create a file "force-early-intel-06-4f-01" inside
Packit e3b5e1
"/lib/firmware/<kernel_version>" directory and run
Packit e3b5e1
"dracut -f --kver <kernel_version>":
Packit e3b5e1
Packit e3b5e1
    touch /lib/firmware/3.10.0-862.9.1/force-early-intel-06-4f-01
Packit e3b5e1
    dracut -f --kver 3.10.0-862.9.1
Packit e3b5e1
Packit e3b5e1
For enforcing early load of this microcode for all kernels, please
Packit e3b5e1
create a file "/etc/microcode_ctl/ucode_with_caveats/force-early-intel-06-4f-01"
Packit e3b5e1
and run dracut -f --regenerate-all:
Packit e3b5e1
Packit e3b5e1
    mkdir -p /etc/microcode_ctl/ucode_with_caveats
Packit e3b5e1
    touch /etc/microcode_ctl/ucode_with_caveats/force-early-intel-06-4f-01
Packit e3b5e1
    dracut -f --regenerate-all
Packit e3b5e1
Packit e3b5e1
If you want to avoid removal of the microcode file during cleanup performed by
Packit e3b5e1
/usr/libexec/microcode_ctl/update_ucode, please remove the corresponding readme
Packit e3b5e1
file (/lib/firmware/<kernel_version>/readme-intel-06-4f-01).
Packit e3b5e1
Packit e3b5e1
Packit e3b5e1
Please refer to /usr/share/doc/microcode_ctl/README.caveats for additional
Packit e3b5e1
information.