Blob Blame History Raw
Latest microcode updates for Intel Skylake/Cascade Lake Scalable Platform CPUs
(family 6, model 85, steppings 4, 6, and 7; CPUID 0x50654/0x50656/0x50657)
may cause system instability on some systems, namely, HPE Superdome Flex
and Supermicro systems, when an update is performed with the resivions
that come with microcode-20201110 release, so the previously released microcode
(with revisions 0x2006906, 0x4001f01, and 0x5002f01, respectively)
from microcode-20200609 release are used on these systems by default instead
for the OS-driven microcode update.

For the reference, SHA1 checksums of the relevant microcode files containing
microcode revisions in question are listed below:
 * 06-55-04, revision 0x2006906: 5f18f985f6d5ad369b5f6549b7f3ee55acaef967
 * 06-55-04, revision 0x2006a08: 4059fb1f60370297454177f63cd7cc20b3fa1212

 * 06-55-06, revision 0x4004f01: 8affd949151a0badd3f71e23cf9ad668d4c1d82f
 * 06-55-06, revision 0x4003003: b187866d2570f90ea69f434c2b012a8c88d85f43

 * 06-55-07, revision 0x5002f01: a7121c5f49753cc783f82135e268bc4efe85d4be
 * 06-55-07, revision 0x5003003: 74e129b108e676f0286742f609b2c1fa65d73db1

Please contact your system vendor for a BIOS/firmware update that contains
the latest microcode version.  For the information regarding microcode versions
required for mitigating specific side-channel cache attacks, please refer
to the following knowledge base articles:
 * CVE-2020-8695 (Information disclosure issue in Intel SGX via RAPL interface),
   CVE-2020-8696 (Vector Register Leakage-Active),
   CVE-2020-8698 (Fast Forward Store Predictor):
   https://access.redhat.com/articles/5569051

The information regarding enforcing microcode update is provided below.

To enforce usage of the latest microcode revision for a specific kernel
version, please create a file "force-intel-06-55-0x-ipu-2020.2" inside
/lib/firmware/<kernel_version> directory, run
"/usr/libexec/microcode_ctl/update_ucode" to add it to firmware directory
where microcode will be available for late microcode update, and run
"dracut -f --kver <kernel_version>", so initramfs for this kernel version
is regenerated and the microcode can be loaded early, for example:

    touch /lib/firmware/3.10.0-862.9.1/force-intel-06-55-0x-ipu-2020.2
    /usr/libexec/microcode_ctl/update_ucode
    dracut -f --kver 3.10.0-862.9.1

After that, it is possible to perform a late microcode update by executing
"/usr/libexec/microcode_ctl/reload_microcode" or by writing value "1" to
"/sys/devices/system/cpu/microcode/reload" directly.

To disallow usage of the latest microcode revision for a specific kernel
version, please create a file "disallow-intel-06-55-0x-ipu-2020.2" inside
/lib/firmware/<kernel_version> directory, run
"/usr/libexec/microcode_ctl/update_ucode" to update firmware directory
used for late microcode updates, and run "dracut -f --kver <kernel_version>",
so initramfs for this kernel version is regenerated, for example:

    touch /lib/firmware/3.10.0-862.9.1/disallow-intel-06-55-0x-ipu-2020.2
    /usr/libexec/microcode_ctl/update_ucode
    dracut -f --kver 3.10.0-862.9.1

To enforce addition of this microcode for all kernels, please create a file
"/etc/microcode_ctl/ucode_with_caveats/force-intel-06-55-0x-ipu-2020.2", run
"/usr/libexec/microcode_ctl/update_ucode" for enabling late microcode updates,
and "dracut -f --regenerate-all" for enabling early microcode updates:

    mkdir -p /etc/microcode_ctl/ucode_with_caveats
    touch /etc/microcode_ctl/ucode_with_caveats/force-intel-06-55-0x-ipu-2020.2
    /usr/libexec/microcode_ctl/update_ucode
    dracut -f --regenerate-all

To disallow usage of the latest microcode revision for all kernels, please
create a file
"/etc/microcode_ctl/ucode_with_caveats/disallow-intel-06-55-0x-ipu-2020.2",
run "/usr/libexec/microcode_ctl/update_ucode" to update firmware directories
used for late microcode updates, and run "dracut -f --regenerate-all"
so initramfs images get regenerated, for example:

    mkdir -p /etc/microcode_ctl/ucode_with_caveats
    touch /etc/microcode_ctl/ucode_with_caveats/disallow-intel-06-55-0x-ipu-2020.2
    /usr/libexec/microcode_ctl/update_ucode
    dracut -f --regenerate-all


Please refer to /usr/share/doc/microcode_ctl/README.caveats for additional
information.