Conheça o plano mais recente do Linux para remover drivers WiFi antigos. Além do código de driver Ethernet antigo e sem manutenção definido para remoção, há um esforço em andamento para limpar alguns drivers WiFi obsoletos e órfãos do kernel Linux.
Foram apresentadas no início deste mês algumas ideias iniciais sobre como descartar drivers WiFi muito antigos e esse trabalho agora está progredindo com um plano mais concreto compartilhado na segunda-feira.
O plano mais recente do Linux para remover drivers WiFi antigos
Arnd Bergmann postou o último tópico da lista de discussão com uma ideia para remover os drivers. Se alguém estiver usando ativamente o kernel Linux principal com esses drivers, as reversões individuais poderão ocorrer posteriormente para restaurar o suporte do driver. Sua proposta também é que os patches de remoção cheguem ao net-next após o Linux 6.7-rc1 para permitir o tempo máximo de exposição, o que significaria não manter o código até o ciclo do kernel do Linux 6.8.
Linux 6.7 retrabalha a geração de cabeçalho PE para reduzir a área de ataque
Uma das muitas solicitações iniciais enviadas para o Linux 6.7 foram as alterações x86/boot encabeçadas por um retrabalho na geração do cabeçalho PE, a fim de gerar uma visualização de imagem do kernel moderna e alinhada a 4K para, em última análise, buscar uma melhor segurança do sistema.
Ard Biesheuvel liderou o esforço neste retrabalho de geração de cabeçalho PE. Ele explicou na série de patches do mês passado:
“Agora que o fluxo de inicialização do stub EFI não depende mais da memória que é executável e gravável ao mesmo tempo, podemos reorganizar a visualização PE/COFF da imagem do kernel e expor o código do binário do descompressor e os dados r/o como um .text e data/bss como uma seção .data, usando alinhamento 4k e permissões limitadas.
Isso é necessário para compatibilidade com medidas de proteção que estão sendo implementadas em PCs x86 criados para executar Windows (ou seja, a maioria deles). O EFI O ambiente de inicialização em que o stub EFI do Linux é executado é especialmente sensível a questões de segurança, visto que uma vulnerabilidade no carregador de um sistema operacional pode ser abusada para atacar outro.
No verdadeiro estilo x86, isso é muito mais complicado do que em outras arquiteturas, que implementamos essa divisão de código/dados com alinhamento de 4k desde o início. O fator complicador aqui é que a imagem de inicialização consiste em duas partes diferentes, que são costuradas e fixadas usando uma ferramenta de compilação especial.
Após a aplicação desta série, o único a tarefa restante executada pela ferramenta de construção é gerar o CRC-32. Mesmo que essa soma de verificação esteja geralmente errada (dado que os kernels da distribuição são assinados para inicialização segura de uma forma que corrompe o CRC), esse recurso é mantido, pois não podemos ter certeza de que ninguém está confiando nele.
Isso substitui o trabalho proposto por Evgeniy no ano passado, que fez uma grande reescrita da ferramenta de construção para limpá-la, antes de atualizá-la para gerar o novo layout de imagem alinhado a 4K. Como esta série prova, a ferramenta de construção é praticamente desnecessária, e já temos muitas delas.”