con En el próximo lanzamiento del kernel de Linux 6.1, se fusionó la infraestructura inicial de Rust para permitir el uso del lenguaje de programación Rust para futuros controladores del kernel y otro código del kernel. Pero ese estado en Linux 6.1 es lo más básico y aún no es práctico, mientras que ahora se ha enviado un envío secundario de parches”Rust para Linux”para permitir que ocurra un mayor desarrollo del kernel con Rust.
Miguel Ojeda, quien ha liderado el esfuerzo de Rust para Linux, envió un conjunto de 28 parches el jueves que brindan más adiciones de Rust core al kernel. Ojeda explicó en la serie de parches esta última gran serie de parches:
Esta serie de parches es el primer lote de cambios para actualizar el resto del soporte de Rust.
En este caso, todas las instalaciones introducidas son parte del”núcleo de Rust”. No interactúan con el lado C de nuevas formas principales (no se usan nuevos tipos de C; solo `strlen`, `memchr`, códigos de error adicionales y algunas cadenas de formato `printk` más).
Después de esta serie, `str.rs` y `print.rs` están sincronizados con el flujo descendente y se agregaron todas las macros de proceso restantes. `error.rs` también es bastante completo, aunque más adelante vendrán algunas características más de `pub(crate)` (para evitar dejar código inactivo entre series).
Tenga en cuenta que se utilizan algunos atributos temporales `#[allow(dead_code)]` para tener un poco más de libertad organizando los parches y manteniéndolos todos construibles sin advertencias/errores, pero al final de la serie no queda ninguno (de los temporales).
Prácticamente todo el código ha estado en linux-next durante meses y formaba parte de la serie de parches de Rust antes de la reducción (es decir, hasta v8).
Cada parche ha sido compilado y probado en un `defconfig` habilitado para Rust con `CLIPPY=1` en los objetivos `all`, `rustfmtcheck`, `rustdoc` y `rusttest`.
Dado que este código ha estado en linux-next por un tiempo y ya vio algunas revisiones como parte de la serie de parches original de Rust para Linux, es muy posible que podamos ver este trabajo listo a tiempo para el Ventana de fusión de Linux 6.2 el próximo mes. Ya veremos. En cualquier caso, el tren de Rust para Linux sigue avanzando.
Una vez que toda esta infraestructura de Rust esté en su lugar, veremos cuánto tiempo pasa antes de que los controladores más prominentes del mundo real comiencen a hacer la transición al código de Rust, ya sea para soporte de nuevo hardware o para reescribir el código del controlador C existente en Rust. Se espera que uno de los primeros usuarios importantes de Rust en el kernel de Linux sea el controlador DRM para los gráficos Apple M1/M2.
Por otra parte, ayer la Agencia de Seguridad Nacional de EE. UU. publicó una guía sobre la protección contra problemas de seguridad de la memoria. El Informe de la NSA sugiere usar el lenguaje de programación Rust u otros lenguajes seguros para la memoria como Swift, Java, Go, Ruby y C#.