Resumo
-
O Linux 7.2 remove a API strncpy com erros após um longo processo de limpeza.
-
A limpeza exigiu seis anos e centenas de compromissos; Só Justin Stitt adicionou 211 deles.
-
strncpy pode deixar destinos desnecessariamente diferentes de NUL ou nulos; removê-lo deve aumentar a estabilidade do núcleo.
O mundo do desenvolvimento do kernel Linux nunca dorme. O Linux 7.1 acaba de ser lançado e os usuários já estão recebendo código que é adicionado ao Linux 7.2. Felizmente, como tende a ser o desenvolvimento de software de código aberto, você sabe, abrirpodemos ver todas as mudanças que Linus Torvalds faz no kernel Linux 7.2 à medida que acontecem.
Uma mudança que acabou de ser cortada marca o fim de uma batalha de seis anos e a 362 se compromete a remover a API strncpy. Isso é uma boa notícia para todos, porque strncpy foi muito mais problemático do que valeu a pena, e espero que leve a um kernel mais estável em geral.
Linux 7.2 finalmente diz adeus à API strncpy
Tenho a sensação de que isso não irá embora
Como notado Forôniouma nova atualização foi incorporada ao kernel Linux 7.2. Isso finalmente limpa os últimos vestígios da API strncpy, que aparentemente era um verdadeiro problema para os desenvolvedores Linux. De acordo com corrigir notas do Git:
string: Remover strncpy() do kernel
Strncpy() tem sido uma fonte constante de bugs devido ao seu uso pretendido ambíguo e à semântica muitas vezes contra-intuitiva: ele pode não terminar um destino com NUL e incondicionalmente padroniza completamente para zero, o que nem sempre é necessário.
Você pode verificar quanto esforço foi necessário para os desenvolvedores do Linux excluir o strncpy página de compromisso. A descrição afirma que a batalha contra a API com bugs já dura mais de seis anos e a 352 está empenhada em finalmente apagá-la. Existe até uma tabela de classificação para quem adicionou mais de uma promessa à causa, com Justin Stitt em primeiro lugar com 211 promessas. Agora isso é dedicação.
O Linux 7.2 deve entrar na fase de release candidate em 28 de junho, então não deve demorar muito para que o strncpy seja erradicado das estações de trabalho de todos.
Alguém moveu três linhas de código no Linux 7.2 e obteve um aumento de 5% na velocidade de armazenamento
Às vezes é tão simples.







