Over the weekend an Intel processor microcode bug was highlighted with a warning advisory via the Debian.org mailing lists. Henrique de Moraes Holschuh warned that systems equipped with Intel Skylake and Kaby Lake processors could "in some situations, dangerously misbehave when hyper-threading is enabled." The errant behaviour could include "application and system misbehavior, data corruption, and data loss," all of which are serious for practical computer use.

The Debian advisory says there's a simple fix to prevent any dangerous misbehaviour by your Skylake or Kaby Lake processor - disable Hyperthreading. Processors affected include Core processors for desktops and laptops, and Intel Xeon processors. Basically if it is from one of those families and it has Hyperthreading capabilities then it is affected.

Intel updated its processors documentation with a new errata (PDF) note a couple of months ago and that was due to these bugs being discovered. One official explanation of the issue is as follows:

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 Debian Mailing list post says that the microcode bug has been noted as affecting some of its OS users. It notes that other OS users are likely to be impacted too, not just Linux based OS users.

So what if you own one of Intel's 6th to 7th generation processors with Hyperthreeading? Debian recommends you disable Hyperthreading for now until a UEFI/BIOS update is issued by your motherboard vendor. Some Skylake users will be able to update the intel-hyperthreading package themselves. Instructions are available about half way down the Debian mailing list post.