Durante o fim de semana, os desenvolvedores do Debian descobriram algo estranho nas duas últimas gerações de processadores Intel, Skylake e Kaby Lake. Sob condições muito específicas, um bug na função Hyper-Threading pode levar a "um comportamento imprevisível" do sistema, incluindo corrupção e perda de dados. Mas antes que a bola de neve cresça, temos boas notícias: o erro pode ser corrigido com ajustes no microcódigo, o que se traduz em uma atualização de BIOS/UEFI para as placas-mãe.
Erros de hardware são tão inevitáveis quanto os de software, embora seu impacto possa ser muito mais grave e custoso para o usuário. Infelizmente, as últimas gerações de processadores não parecem ser imunes. Sem ir mais longe, os chips Ryzen travavam em algumas cargas de trabalho com código FMA3, e a AMD trabalhou contra o relógio junto aos fabricantes de placas-mãe para publicar o patch necessário. Agora é a vez da Intel, ou mais especificamente, dos processadores Skylake e Kaby Lake da companhia que são usados com a função Hyper-Threading ativada (sempre que disponível). O erro foi relatado por desenvolvedores do Debian durante o fim de semana, mas, de acordo com o texto, o bug está sendo investigado desde janeiro, e sua detecção inicial remonta a meados de 2016.
A documentação da Intel
A documentação pública da Intel apresenta o bug como "Laços curtos que usem Registradores AH/BH/CH/DH podem causar um comportamento imprevisível no sistema". Em sua descrição lemos que, sob condições complexas, laços curtos com menos de 64 instruções que utilizem os registradores AH, BH, CH ou DH, assim como os registradores largos correspondentes (como RAX, EAX ou AX para AH), podem causar efeitos imprevisíveis no computador, mas isso só acontece quando os dois processadores lógicos em um mesmo processador físico estão ativos (ou seja, Hyper-Threading).
A Intel já publicou várias correções no microcódigo, e é questão de tempo para que cheguem a todos os usuários, seja como patches no nível do sistema operacional, ou como uma atualização no BIOS/UEFI da placa-mãe. No pior caso, se um usuário for afetado pelo bug, ele sempre tem a opção de desativar o Hyper-Threading temporariamente, mas o número de incidentes tem sido tão baixo que, pessoalmente, não acho que vale a pena chegar a esse extremo.