Грег Кроа-Хартман считает, что Rust мог бы предотвратить 60% ошибок в ядре Linux На конференции Rust Week 2026 он рассказал, как Rust может помочь в п…
На конференции Rust Week 2026 он рассказал, как Rust может помочь в предотвращении уязвимостей, возникающих из-за типичных ошибок при работе с памятью, блокировками, обработкой ошибок и недоверенными данными. Например, Грег привёл ошибку в подсистеме Bluetooth, которая оставалась незамеченной 15 лет (разыменование указателя без проверки), и проблему в гипервизоре Xen (забыли снять блокировку в коде обработки ошибок).
По словам разработчика, большинство ошибок в ядре вызваны подобными мелочами, которые со временем накапливаются. Rust выявляет такие проблемы на этапе сборки: например, Rust-абстракции для блокировок не позволяют получить доступ к внутренним указателям структур без захвата соответствующей блокировки (которая затем снимается автоматически).
Внедрение Rust уже положительно повлияло на Си-код: пришлось привести в порядок интерфейсы и заимствовать некоторые приёмы (например, блокировки с ограниченной областью видимости). Rust позволяет сосредоточиться на проверке логики, а не на отслеживании манипуляций с ресурсами. Система типов явно разграничивает заслуживающие и не заслуживающие доверия данные.
По мнению Грега, Rust один из реальных способов снизить число ошибок, вызванных традиционными оплошностями.
Верите ли вы, что Rust поможет снизить число уязвимостей в ядре?
🐧Обсудить в Чате Linux