1abd92
Intel Broadwell-EP/EX (BDX-ML B/M/R0, family 6, model 79, stepping 1) has issues
1abd92
with microcode update that may lead to a system hang; while some changes
1abd92
to the Linux kernel have been made in an attempt to address these issues,
1abd92
they were not eliminated, so a possibility of unstable system behaviour
1abd92
after a microcode update performed on a running system is still present even
1abd92
on a kernels that contain aforementioned changes.  As a result, microcode update
1abd92
for this CPU model has been disabled by default.
1abd92
1abd92
For the reference, kernel versions for the respective RHEL minor versions
1abd92
that contain the aforementioned changes, are listed below:
1abd92
 * Upstream/RHEL 8: kernel-4.17.0 or newer;
1abd92
 * RHEL 7.6 onwards: kernel-3.10.0-894 or newer;
1abd92
 * RHEL 7.5.z: kernel-3.10.0-862.6.1 or newer;
1abd92
 * RHEL 7.4.z: kernel-3.10.0-693.35.1 or newer;
1abd92
 * RHEL 7.3.z: kernel-3.10.0-514.52.1 or newer;
1abd92
 * RHEL 7.2.z: kernel-3.10.0-327.70.1 or newer.
1abd92
1abd92
Please contact you system vendor for a BIOS/firmware update that contains
1abd92
the latest microcode version. For the information regarding microcode versions
1abd92
required for mitigating specific side-channel cache attacks, please refer
1abd92
to the following knowledge base articles:
1abd92
 * CVE-2017-5715 ("Spectre"):
1abd92
   https://access.redhat.com/articles/3436091
1abd92
 * CVE-2018-3639 ("Speculative Store Bypass"):
1abd92
   https://access.redhat.com/articles/3540901
1abd92
 * CVE-2018-3620, CVE-2018-3646 ("L1 Terminal Fault Attack"):
1abd92
   https://access.redhat.com/articles/3562741
1abd92
 * CVE-2018-12130, CVE-2018-12126, CVE-2018-12127, and CVE-2019-11091
1abd92
   ("Microarchitectural Data Sampling"):
1abd92
   https://access.redhat.com/articles/4138151
1abd92
1abd92
The information regarding enforcing microcode load is provided below.
1abd92
1abd92
For enforcing addition of this microcode to the firmware directory
1abd92
for a specific kernel, where it is available for a late microcode update,
1abd92
please create a file "force-late-intel-06-4f-01" inside
1abd92
/lib/firmware/<kernel_version> directory and run
1abd92
"/usr/libexec/microcode_ctl/update_ucode":
1abd92
1abd92
    touch /lib/firmware/3.10.0-862.9.1/force-late-intel-06-4f-01
1abd92
    /usr/libexec/microcode_ctl/update_ucode
1abd92
1abd92
After that, it is possible to perform a late microcode update by executing
1abd92
"/usr/libexec/microcode_ctl/reload_microcode" or by writing value "1" to
1abd92
"/sys/devices/system/cpu/microcode/reload" directly.
1abd92
1abd92
For enforcing addition of this microcode to firmware directories for all
1abd92
kernels, please create a file
1abd92
"/etc/microcode_ctl/ucode_with_caveats/force-late-intel-06-4f-01"
1abd92
and run "/usr/libexec/microcode_ctl/update_ucode":
1abd92
1abd92
    mkdir -p /etc/microcode_ctl/ucode_with_caveats
1abd92
    touch /etc/microcode_ctl/ucode_with_caveats/force-late-intel-06-4f-01
1abd92
    /usr/libexec/microcode_ctl/update_ucode
1abd92
1abd92
For enforcing early load of this microcode for a specific kernel, please
1abd92
create a file "force-early-intel-06-4f-01" inside
1abd92
"/lib/firmware/<kernel_version>" directory and run
1abd92
"dracut -f --kver <kernel_version>":
1abd92
1abd92
    touch /lib/firmware/3.10.0-862.9.1/force-early-intel-06-4f-01
1abd92
    dracut -f --kver 3.10.0-862.9.1
1abd92
1abd92
For enforcing early load of this microcode for all kernels, please
1abd92
create a file "/etc/microcode_ctl/ucode_with_caveats/force-early-intel-06-4f-01"
1abd92
and run dracut -f --regenerate-all:
1abd92
1abd92
    mkdir -p /etc/microcode_ctl/ucode_with_caveats
1abd92
    touch /etc/microcode_ctl/ucode_with_caveats/force-early-intel-06-4f-01
1abd92
    dracut -f --regenerate-all
1abd92
1abd92
If you want to avoid removal of the microcode file during cleanup performed by
1abd92
/usr/libexec/microcode_ctl/update_ucode, please remove the corresponding readme
1abd92
file (/lib/firmware/<kernel_version>/readme-intel-06-4f-01).
1abd92
1abd92
1abd92
Please refer to /usr/share/doc/microcode_ctl/README.caveats for additional
1abd92
information.