ReproduçãoAmeaçaInstruções maliciosas dentro de um programa podem congelar um micro... sem direito a ctrl+alt+del!Na Intel, oficialmente, o problema é chamado de ‘‘errata’’. Em seu website, ela diz também que todos os chips têm erratas. Na Cyrix, o silêncio é total. Mas desta vez a coisa é séria. Tanto no caso do ‘‘F0’’, do Pentium (pronuncia-se efe-zero), quanto no ‘‘Coma Bug’’, do 6x86, o efeito é devastador: congelamento total. Remédio? Só um (doloroso) reset.
O F0 atinge qualquer Pentium, rodando qualquer sistema operacional, de DOS a Linux, passando por Windows 95, Windows NT, OS/2 e FreeBSD. Salva apenas os Pentium PRO e Pentium II.
Por conta da quantidade de holofotes despejada sobre o F0 na semana passada, pouca coisa se descobriu sobre o Coma Bug, do 6x86, mas sabe-se que, a exemplo de seu parceiro na desgraça, o usuário Cyrix vai ter o mesmo problema: greve geral na CPU.
Na quinta-feira, acossada pela quantidade de mensagens postadas na Usenet sobre o assunto, a Intel colocou em seu website uma primeira avaliação do problema, na qual explica que o congelamento não acontece de forma casual, mas apenas se alguém, intencionalmente, quiser provocá-lo. Está tudo em support.intel.com/support/processors/pentium/ ppiie/index.htm>.
Um motivo a mais para deixar a turma em pânico é que nenhum dos dois bugs deixa qualquer rastro.
‘‘O processador não tem tempo de registrar nada, nem de avisar o sistema operacional que recebeu uma instrução ilegal. O bug é exatamente isto: a incapacidade do chip de avisar ao sistema operacional que aconteceu um problema’’ explica Antonio Carlos Pina, diretor do Openlink.
A turma do Unix, que não é boba, já se mexeu e arranjou uma solução, mas não foi autorizada a revelar o truque. Seria uma atualização do chip via software? Segundo o mestre Pina, a melhor defesa, especialmente para os chamados grupos de risco (gente que roda aplicações críticas) é simplesmente trocar de processador. Os workarounds (eufemismo para soluções que contornam o problema mas não o resolvem) acarretam, no caso do Pentium, a perda do cache primário - o que transforma a máquina num velho 486... Será que vale a pena?
No caso do 6x86, a solução girava em torno de um outro workaround que, curiosamente, até aumentava a potência da CPU.
Na prática, o que é o bug? Muito simples. No caso do Pentium, o trecho de código escrito em ‘‘C’’ tem mais ou menos o seguinte aspecto:
char x [5] {0xf8, 0x4f, 0xc7, 0xc36};
sub ( ){
void (*f)() x;
f[];
}
Claríssimo, não? (Mas não adianta copiar, porque a gente fez modificações - este aí não funciona). Singelas linhas de código como estas, se acionadas de forma correta (se é que se pode chamar isto de ‘‘correto’’), podem, sim, provocar o caos no seu micro.
Uma alternativa especialmente aterradora é a de que haja um backdoor (entrada secreta, no jargão técnico) para atualizar o microcódigo do chip através de software. Claro que ninguém precisa de uma bola de cristal para imaginar o que aconteceria se tal backdoor caísse em mãos erradas. De qualquer forma, é melhor aguardar o que a Intel vai dizer nos próximos dias. A empresa garante que está trabalhando rapidamente para oferecer um upgrade em tempo recorde para o BIOS que resolva o problema e, de quebra, feche logo essa porta.

mockup