
En diciembre de 2025, en la Linux Kernel Maintainers Summit de Tokio, los mantenedores tomaron una decisión que cerró un debate de cinco años: Rust ya no es experimental en el kernel Linux. Es un lenguaje permanente de primera clase junto a C. Con Linux 7.0 (abril 2026), drivers NVMe y de red de alta velocidad escritos en Rust llegaron a la rama estable mainline. Google reporta cero bugs de memoria en producción con sus drivers Rust de Android. Y Ubuntu 26.04 LTS ha reemplazado ls, cp y mv por versiones en Rust. El futuro ya está aquí.
La historia: de experimento a primera clase en cuatro años
Linux 5.19 (2022) fue el primer kernel con soporte Rust, marcado como «experimental». Durante tres años, los ciclos 5.x y 6.x construyeron las abstracciones de la API, integración con Kbuild y revisión de código. En la cumbre de Tokio (diciembre 2025), el equipo tomó la decisión definitiva: Rust es permanente. Con Linux 7.0 (abril 2026), esa declaración se materializó en código de producción mainline.
"Los drivers Rust han sido demostrablemente más seguros que sus equivalentes en C. Los números lo muestran y los mantenedores lo han visto en los reviews." — Greg Kroah-Hartman, mantenedor del kernel Linux, 2025
Linux 7.0: el primer kernel con Rust en producción real
Con el kernel 7.0, drivers para almacenamiento NVMe y redes de alta velocidad escritos en Rust pasaron de experimental a la rama mainline estable. El subsistema GPIO recibió abstracciones Rust en mainline para operaciones de control de pines. Y se añadieron nuevas primitivas de sincronización y abstracciones de bus para expandir el uso de drivers Rust.
"La transición a Rust para módulos del kernel es la mejora más importante para la estabilidad de Linux en 2026. Los datos de producción muestran que estos drivers no solo son más seguros: a menudo son más rápidos porque eliminan el overhead de los mecanismos tradicionales de bloqueo." — Liam S., FossLinux, mayo 2026
El driver Nova: GPU NVIDIA reescrita desde cero en Rust
Nova es un driver completamente nuevo para GPUs NVIDIA escrito íntegramente en Rust. A diferencia de Nouveau (que heredaba deuda técnica de código C), Nova parte de cero con las garantías de memoria segura de Rust. Según Phoronix (junio 2026), ha completado doce iteraciones de habilitación para Hopper y Blackwell, las generaciones GPU más modernas de NVIDIA.
Google y Android: el caso de uso que lo cambió todo
Google es el mayor contribuidor de Rust al kernel Linux, impulsado por Android (miles de millones de dispositivos). Los resultados son definitivos:
- Cero bugs de memoria en producción con el código Rust de drivers Android desplegado
- Android 16 embarca un allocator de memoria en Rust sobre el kernel Linux 6.12
- Las abstracciones del kernel en Rust minimizan el área de código
unsafeque cada driver necesita
Por qué Rust resuelve lo que C no puede
| Aspecto | C en el kernel | Rust en el kernel |
|---|---|---|
| Use-after-free | Comportamiento indefinido | Imposible: detectado en compilación |
| Buffer overflow | Silencioso en runtime | Verificado por el borrow checker |
| Race conditions | Difíciles de detectar | Eliminadas por diseño del ownership |
| Null dereferences | Crash en producción | Option<T> forzado por el compilador |
| CVEs de memoria en drivers | Frecuentes (historial de 30 años) | 0 en producción (Google, 2026) |
Ejemplo mínimo: driver Rust para Linux 7.0
use kernel::prelude::*;
use kernel::{platform, of};
module! {
type: RustDriver,
name: "rust_platform_driver",
author: "Ejemplo TechLinux",
description: "Driver de plataforma mínimo en Rust",
license: "GPL",
}
// Sin use-after-free. Sin buffer overflow.
// El compilador garantiza la seguridad de memoria.
// Google: 0 bugs de memoria en producción con Rust Android.
Ubuntu 25.10 / 26.04 LTS: Rust sube al espacio de usuario
Canonical tomó en Ubuntu 25.10 una decisión histórica: reemplazar los coreutils GNU (ls, cp, mv, rm) por versiones escritas en Rust. El plan se extiende a Ubuntu 26.04 LTS, lo que significaría que el sistema de servidor más usado del mundo tendría sus herramientas CLI fundamentales en Rust. Debian también ha hecho de Rust un requisito para ciertos paquetes del sistema.
Los retos de Rust en el kernel
- Sin stdlib: solo
coreyallocmás el cratekernel - Versión estable requerida: toolchain específico obligatorio
- Código unsafe en abstracciones: la seguridad del driver depende de que sean correctas
- Curva de aprendizaje alta: Rust de kernel es más difícil que Rust de userspace
- FFI con C: la interoperabilidad requiere bindings y código unsafe
Conclusión: la revolución silenciosa ya llegó
La adopción de Rust en el kernel Linux es la transformación técnica más significativa del ecosistema de infraestructura en la última década. No habrá un día en que Linux pase de C a Rust de golpe: es una transición gradual respaldada por datos. Google reporta cero bugs de memoria en producción. Los drivers NVMe Rust son más rápidos que sus equivalentes C. Ubuntu 26.04 LTS sustituye ls y cp por versiones Rust. Y el kernel 7.0 convirtió en primera clase lo que hace cuatro años era un experimento. El futuro de Rust en Linux no está por llegar. Ya está aquí.
Preguntas frecuentes
¿Rust va a reemplazar completamente a C en el kernel Linux?
No en ningún futuro previsible. El kernel tiene 34 millones de líneas de C. La estrategia es coexistencia: nuevos drivers en Rust y reescritura de drivers C problemáticos cuando se refactorizan. C seguirá siendo el lenguaje principal durante muchos años. Rust es la opción preferida para código nuevo donde la seguridad de memoria es prioritaria.
¿Los drivers Rust son más rápidos que los drivers C?
En muchos casos, sí. El borrow checker de Rust verifica en compilación que no hay accesos concurrentes peligrosos, eliminando la necesidad de ciertas primitivas de sincronización. El resultado es que el código Rust puede ser más concurrent-friendly y en benchmarks de NVMe y drivers de red medibles es más rápido que el C equivalente (FOSSlinux, Phoronix, 2026).
¿Cómo empiezo a escribir drivers Rust para Linux?
Ruta recomendada: domina Rust de userspace (doc.rust-lang.org), luego estudia el repositorio rust-for-linux en GitHub, configura QEMU para probar sin hardware real y revisa los ejemplos en samples/rust/ del árbol del kernel. La comunidad está activa en el canal #rust-for-linux de Zulip (kernel.org).


