A décima versão dos patches para o núcleo Linux com suporte para a linguagem Rust

Miguel Ojeda, autor do projeto Rust-for-Linux, propôs aos desenvolvedores do núcleo Linux a liberação da versão v10 dos componentes para o desenvolvimento de drivers de dispositivos na linguagem Rust. Esta é a décima primeira edição dos patches, considerando a primeira versão, publicada sem número de versão. A inclusão do suporte para Rust foi aprovada por Linus Torvalds para ser integrada ao núcleo Linux 6.1, desde que não surjam problemas inesperados. O desenvolvimento é financiado pela Google e pela organização ISRG (Internet Security Research Group), que é a fundadora do projeto Let’s Encrypt e promove o avanço do HTTPS e o desenvolvimento de tecnologias para aumentar a segurança na internet.

Assim como a versão anterior dos patches, a versão v10 foi reduzida ao mínimo necessário para compilar um simples módulo do núcleo escrito na linguagem Rust. As diferenças em relação à versão anterior se resumem a pequenas correções, substituição de sizeof por ARRAY_SIZE no kallsyms.c e adaptação dos patches ao núcleo v6.0-rc7. A expectativa é que o patch mínimo, cuja extensão foi reduzida de 40 para 13 mil linhas de código, facilite a aceitação do suporte para Rust no núcleo principal. Após garantir um suporte mínimo, a intenção é aumentar gradualmente a funcionalidade existente, transferindo outras alterações da branch Rust-for-Linux.

As mudanças propostas permitem o uso do Rust como uma segunda linguagem para o desenvolvimento de drivers e módulos do núcleo. O suporte ao Rust é apresentado como uma opção, não ativada por padrão e que não resulta na inclusão do Rust como uma dependência de compilação obrigatória para o núcleo. O uso do Rust para desenvolver drivers permitirá a criação de drivers seguros e de qualidade superior com o mínimo de esforço, eliminando problemas como acesso a áreas de memória após a liberação, desreferenciação de ponteiros nulos e estouro de buffer.

A segurança no manuseio da memória é garantida no Rust durante a compilação através da verificação de referências, rastreamento da propriedade dos objetos e consideração do tempo de vida dos objetos (escopo), bem como pela avaliação da correção do acesso à memória durante a execução do código. O Rust também oferece ferramentas para proteção contra estouros inteiros, exige a inicialização obrigatória dos valores das variáveis antes do uso, lida melhor com erros na biblioteca padrão, aplica o conceito de imutabilidade (immutable) para referências e variáveis por padrão e oferece forte tipagem estática para minimizar erros lógicos.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster