Linus Torvalds rejeita correção “estúpida” da Amazon para Linux
Para Linus Torvalds, correção para bug apresentada por engenheiros do AWS pode prejudicar desempenho do Linux
Para Linus Torvalds, correção para bug apresentada por engenheiros do AWS pode prejudicar desempenho do Linux
Linus Torvalds é conhecido por não economizar palavras quando está contrariado. No episódio mais recente, ele rejeitou uma correção desenvolvida por um engenheiro do Amazon Web Services (AWS) para o Linux por considerá-la uma grande estupidez.
No início do ano, Pawel Wieczorkiewicz, engenheiro do AWS, descobriu que é possível vazar dados do cache LD1 de determinados processadores Intel Core e Xeon a partir da exploração de um método de bus snooping — o truque consiste, essencialmente, em monitorar o cache para fazer uma captura de dados quando houver mudança nas informações existentes ali.
Algum tempo depois da divulgação da falha — que foi identificada como CVE-2020-0550 — Balbir Singh, também engenheiro do AWS, propôs uma correção para Linux que permite a softwares limpar o L1D assim que uma tarefa for finalizada para evitar que dados sejam vazados após uma mudança de contexto no cache.
O patch com esse recurso foi adicionado ao Linux 5.8. Porém, após revisão do código do kernel, Linus Torvalds resolveu tirá-lo de lá. Para ele, essa é uma solução “estúpida”, pois pode afetar o desempenho do sistema.
“Parece que isso basicamente exporta instruções de liberação de cache para o espaço do usuário e dá aos processos um jeito de dizer ‘desacelere qualquer outra coisa que eu agendar junto'”, explicou Torvalds.
Em outras palavras, o patch pode até ter algum efeito protetor sobre os dados do cache, mas permite que o software que faz uso dessa instrução degrade o desempenho da CPU para outros aplicativos. Isso porque, presumivelmente, a limpeza do cache pode remover dali dados de outros processos.
Essa discussão ilustra o quão difícil é para os mantenedores do kernel tratar de bugs relacionados a processadores. Não raramente, os “efeitos colaterais” podem inviabilizar as soluções propostas. De todo modo, o patch poderá ser aplicado ao Linux se os engenheiros do AWS puderem convencer Torvalds de que a correção apresentada realmente tem valor.
Com informações: The Register, ZDNet.