Масштаб интеграции Rust в ядро
Разработчик Мигель Охедa (Miguel Ojeda) подготовил крупный пулл-реквест, который будет включен в релиз Linux 7.4. Основной объем изменений составляет 17 000 строк нового кода на языке Rust. Это не просто экспериментальные вставки, а системное обновление инфраструктуры, затрагивающее ключевые зависимости и инструменты диагностики.
Ключевые технические изменения
Центральным элементом обновления стало масштабное обновление Zerocopy — библиотеки, обеспечивающей безопасное преобразование между сырыми байтовыми последовательностями и структурированными типами данных. Версия библиотеки прыгнула сразу на восемь версий вперед. Параллельно обновлены другие crates, используемые в ядре, и включена нестабильная функция proc_macro_span для улучшения диагностики процедурных макросов.
Новые модули и улучшения безопасности
В экосистему Rust for Linux добавлены новые модули "mem" (управление памятью) и "ratelimit" (ограничение частоты событий). Существенно доработан crate pin-init: теперь он поддерживает кортежные структуры (tuple structs) и позволяет безопасно создавать самоссылки (self-references), что критически важно для предотвращения ошибок памяти в низкоуровневом коде.
Поддержка оборудования и драйверов
Помимо ядра, изменения затронут и подсистемы. В частности, ожидается улучшение драйвера NVIDIA Nova на Rust, а также работа над инфраструктурой DRM (Direct Rendering Manager). Эти изменения демонстрируют переход от теоретической возможности использования Rust к практическому внедрению в драйверы реального оборудования.
| Компонент | Изменение в Linux 7.4 | Значение |
|---|---|---|
| Zerocopy | Обновление на 8 версий | Безопасная работа с сырыми данными и буферами |
| pin-init | Поддержка tuple structs и self-references | Упрощение инициализации сложных структур данных |
| Диагностика | Включение proc_macro_span | Улучшение отладки процедурных макросов |
| Драйверы | NVIDIA Nova, DRM | Практическое применение Rust в GPU-стеке |
Детальный обзор изменений доступен в официальном pull-реквесте Мигеля Охеды. Интеграция Rust продолжает набирать обороты, превращаясь из пилотного проекта в неотъемлемую часть ядра Linux.
Источник: Phoronix ↗
