Depois do incidentes que ocorreram dentro da comunidade de desenvolvedores do kernel Linux, devido a uma discussão sobre a introdução do Rust no kernel, onde diferentes desenvolvedores Eles deram a conhecer a sua posição na direção que o projeto está tomando.
Greg Kroah-Hartman, um conhecido mantenedor do ramo estável do kernel Linux, saiu para defender Rust e expressou seu apoio ao uso da linguagem Rust no desenvolvimento de novos componentes principais.
Greg mencione isso pelos últimos 15 anos, tem sido uma das principais fontes de informação sobre bugs e vulnerabilidades no kernel e alega que muitos desses problemas decorrem de peculiaridades não documentadas da linguagem C. Rust, em contraste, remove completamente essas ambiguidades, representando um avanço significativo em termos de estabilidade e segurança.
Vantagens da ferrugem no kernel
Para Greg uno dos principais benefícios para integrar Rust no desenvolvimento do kernel é a erradicação de erros comuns de gerenciamento de memória. Problemas como acesso à memória liberada, estouros parciais de buffer, liberação incorreta de recursos após falhas de execução e validações ignoradas em códigos de retorno serão drasticamente reduzidos. Essas melhorias permitirão que os mantenedores do kernel se concentrem em questões mais relevantes, como condições de corrida e problemas de lógica, em vez de perder tempo corrigindo bugs evitáveis.
O código C existente não será substituído, mas a possibilidade de Escrever novos controladores e subsistemas em Rust ajudará a melhorar a qualidade de software no futuro. Além disso, o uso desta linguagem permitirá reestruturar as APIs internas do kernel para torná-las mais compreensíveis e seguras, o que reduzirá significativamente a carga sobre os mantenedores, garantindo seu uso correto. À medida que os wrappers em Rust evoluem, o design do kernel pode ser otimizado, beneficiando tanto os desenvolvedores de Rust quanto aqueles que continuam a usar C.
Greg Kroah-Hartman deixa claro que Rust não é uma solução mágica que resolverá todos os problemas do kernel, mas é uma ferramenta valiosa o que irá melhorar muitos aspectos do desenvolvimento. Também aponta que O uso de múltiplos idiomas dentro do núcleo não representa um obstáculo intransponível. A comunidade de desenvolvedores Linux enfrentou desafios ainda mais complexos no passado, e a adição do Rust é simplesmente mais um passo para fortalecer o projeto a longo prazo.
Kees Cook juntou-se a esta discussão, ex-administrador de sistemas do kernel.org e líder da equipe de segurança do Ubuntu. Cook enfatizou que a intenção não é reescrever o código existente em Rust, mas para fornecer a opção de usá-lo para o desenvolvimento de novos componentes. Essa estratégia não apenas reduzirá o número de erros de memória, mas também acelerará o processo de desenvolvimento, pois o Rust permite que bugs sejam detectados em um estágio inicial do processo de codificação, antes que o software chegue à fase de testes.
E é que É mencionado que a viabilidade desta estratégia foi comprovada Anteriormente pelo Google no Android. Foi demonstrado que o novo código é a principal fonte de problemas de segurança, portanto, melhorar sua qualidade desde o início é uma prioridade. Na verdade, Foi observado que o código antigo tem uma densidade menor de vulnerabilidades ao longo do tempo. Por exemplo, um código escrito há cinco anos tem, em média, 3.4 vezes menos falhas de segurança em comparação a um código mais recente.
Dessa forma, a integração do Rust ao kernel do Linux é citada como um avanço fundamental na melhoria da segurança, eficiência de desenvolvimento e estabilidade do sistema. Isto não é uma substituição para o código C, mas sim uma evolução que permitirá que softwares mais seguros e confiáveis sejam escritos no futuro.
Por fim, se estiver interessado em saber mais sobre o assunto, pode consultar os detalhes no link a seguir