Intel Faces Hyper-Threading Bug In Skylake and Kaby Lake Processor Microcode

By

Over the weekend the Debian developers posted up that they found a rather serious coding bug on Intel 6th Generation Skylake and 7th Generation Kaby Lake processors that have Intel hyper-threading enabled. The issue impacts both desktop and mobile processors with even Intel Xeon v5 and Xeon v6 processors.

Intel Core i7-7700K Kaby Lake Processor

The Intel processor microcode errata was highlighted by Debain in an advisory. The bug is when one uses short loops which use AH/BH/CH/DH registers as that may cause unpredictable system behavior.

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 (e.g. RAX, EAX or AX for AH) may cause unpredictable system behavior. This can only happen when both logical processors on the same physical processor are active.

The Debian advisory goes on to say that owners of the impacted processors need to disable hyper-threading immediately in their BIOS or UEFI settings. This defect can, when triggered, cause unpredictable system behavior: it could cause spurious errors, such as application and system misbehavior, data corruption, and data loss.

Intel has documented the bug and its microcode fixes for the bug and now the motherboard makers most roll out BIOS or UEFI updates for all the platforms that use these processors. In the meantime it is suggested that Intel Kaby Lake Skylake owners disable hyper-threading. It should be noted that all operating systems, not just Linux, are subject to this errata.