Intel's Skylake and Kaby Lake CPUs have nasty microcode bug
Debian devs noticed errata to deep docs and now the fit's hitting the shan
During April and May, Intel started updating processor documentation with a new errata note, and over the weekend we learned why: Skylake and Kaby Lake silicon has a microcode bug.
The errata is described in detail on the Debian mailing list, and affects Skylake and Kaby Lake Intel Core processors (in desktop, high-end desktop, embedded and mobile platforms), Xeon v5 and v6 server processors, and some Pentium models.
The Debian advisory says affected users need to disable hyper-threading “immediately” in their BIOS or UEFI settings, because the processors can “dangerously misbehave when hyper-threading is enabled.”
Symptoms can include “application and system misbehaviour, data corruption, and data loss”.
Henrique de Moraes Holschuh, who authored the Debian post, notes that all operating systems, not only Linux, are subject to the bug.
Intel's errata note (for example in this document), describes the issue like this:
Under complex micro-architectural conditions, short loops of less than 64 instructions that use AH, BH, CH or DH registers as well as their corresponding wider register (eg RAX, EAX or AX for AH) may cause unpredictable system behaviour. This can only happen when both logical processors on the same physical processor are active.
The issue went rose above obscurity when Mark Shinwell, a developer working on the OCamlL toolchain, contacted the Debian team to explain that the OCaml compiler triggered an Intel microcode issue.
Fixes
Debian's post notes that Intel has documented the bug and its microcode fixes for Core 6th generation, Core 7th generation, Xeon v5 and v6, and Core 6th generation X series.
For Debian users:
- Kaby Lake – contact system vendors for BIOS/UEFI updates, and in the meantime disable hyper-threading;
- Skylake – Depending on model, an
intel-hyperthreadingpackage is available; otherwise disable hyper-threading and wait for a BIOS/UEFI fix.
Other users will need platform-specific fixes, or for BIOS/UEFI upgrades to land from their system vendors. ®