O principal nome em desenvolvimento do sistema Linux, Linus Torvalds reclama de bugs em hardware e de ataques teóricos da CPU. Na semana passada, o criador do Linux, Linus Torvalds, esteve ativo em um tópico da lista de discussão do kernel Linux sobre evitar o barrier_nospec() em copy_from_user() devido a ser “exagerado e dolorosamente lento”.
A conversa evoluiu para discussões de baixo nível sobre o comportamento da CPU e a melhor forma de lidar com os diferentes comportamentos/requisitos com as novas CPUs Intel que suportam o Linear Address Masking (LAM) e as dores de cabeça gerais hoje em dia em torno das mitigações de segurança da CPU.
Linus Torvalds reclama de bugs em hardware e de ataques teóricos da CPU
Torvalds levantou que alguns códigos sugeridos provavelmente não funcionam para CPUs Intel com LAM como Arrow Lake e Lunar Lake. Mas na falta de certeza em torno de algum comportamento da CPU, foi sugerido modificar preventivamente algum código do kernel. Foi aí que Linus Torvalds escreveu uma resposta no final da noite de domingo com outra mensagem clássica no estilo Torvalds:
Honestamente, estou muito farto de hardware com bugs e ataques completamente teóricos que nunca se mostraram usados na prática.
Então eu acho que desta vez nós empurramos de volta para o pessoal de hardware e dizer-lhes que é * SEU * maldito problema, e se eles não podem sequer ser incomodados para dizer yay-ou-não, nós apenas sentar firme.
Porque caramba, vamos colocar o ônus sobre onde está a culpa, e não apenas pegar qualquer merda aleatória de hardware ruim e dizer “oh, mas * pode * ser um problema”.
Linus
Sobre a questão das novas CPUs Intel LAM, o engenheiro da Intel Kirill Shutemov comentou sobre esse tópico:
A LAM traz questões de especulação próprias[1] que serão abordadas pela LASS[2]. Havia um patch[3] para desabilitar o LAM até que o LASS fosse lançado, mas nunca foi aplicado por algum motivo.
[1] https://download.vusec.net/papers/slam_sp24.pdf
[2] https://lore.kernel.org/all/20240710160655.3402786-1-alexander.shishkin@linux.intel.com
[3] https://lore.kernel.org/all/5373262886f2783f054256babdf5a98545dc986b.1706068222.git.pawan.kumar.gupta@linux.intel.com
LASS é o suporte de Separação de Espaço de Endereço Linear como um novo recurso de segurança para evitar acessos mal-intencionados ao espaço de endereço virtual no modo de usuário/kernel. Esse código do kernel é um saco totalmente separado das discussões que Linus Torvalds tem tido sobre evitar barrier_nospec() em copy_from_user().
Para encurtar a história, Linus Torvalds não está satisfeito com o hardware com bugs e os problemas de segurança da CPU cada vez maiores com seu estado caótico, particularmente em torno de ataques teóricos versus práticos.