В ветку ядра Linux-next добавлен код для разработки драйверов на языке Rust

В состав ветки linux-next, на основе которой будет сформирован выпуск ядра Linux 5.13, включён начальный набор компонентов для разработки драйверов устройств на языке Rust. Отдельно опубликована документация по использованию Rust в ядре Linux и пример модуля ядра с драйвером символьного устройства на языке Rust. Код добавил Стивен Ротвелл (Stephen Rothwell), мэйнтейнер ветки Linux-next. Обычно ветка Linux-next включает код, готовый для принятия в следующем цикле приёма изменений в ядро, но пока точно не ясно будет ли поддержка Rust принята Линусом Торвальдсем в состав Linux 5.13, так как код не прошёл рецензирование широким кругом разработчиков.

Поддержка разработки драйверов ядра Linux на языке Rust активно обсуждалась в прошлом году, в том числе с участием Линуса Торвальдс, который не исключал такую возможность. Идею также поддержал Грег Кроа-Хартман (Greg Kroah-Hartman), отвечающий за поддержку стабильной ветки ядра Linux. Использование Rust для разработки драйверов позволит с минимальными усилиями создавать безопасные и более качественные драйверы, избавленные от таких проблем, как обращение к области памяти после её освобождения, разыменование нулевых указателей и выход за границы буфера.

Для активации поддержки Rust в ветке linux-next в KConfig добавлена опция CONFIG_RUST («Rust support» в меню «General setup»), при включении которой проверяется наличие в системе компилятора rustc и при его присутствии даётся возможность включить остальные компоненты, завязанные на Rust (например, в меню «Kernel hacking» появляется секция «Rust hacking») Поддержка Rust пока ограничена платформами x86_64 и ARM64, и рассматривается как опция, не активная по умолчанию и не приводящая к включению Rust в число обязательных сборочных зависимостей к ядру.



Источник: http://www.opennet.ru/opennews/art.shtml? num=54792

©  OpenNet