Rust врятує Linux: Грег Кроа-Хартман підтверджує завершення експерименту

Ключові моменти:
  • Грег Кроа-Хартман оголосив на Rust Week 2026, що використання Rust у ядрі Linux більше не є експериментом і стає офіційним стандартом.
  • Команда Linux щодня стикається майже з 13 повідомленнями про вразливості, здебільшого спричиненими людськими помилками в мові програмування C.
  • Компілятор Rust автоматично виявляє помилки пам'яті та збої, що може зменшити кількість системних збоїв до 80%.
  • Буде впроваджено систему позначення апаратних даних як «ненадійних», що змусить розробників перевіряти їх перед використанням.
  • Поточний код на C (36 мільйонів рядків) не буде переписано. Rust буде використовуватися лише для розробки нових контролерів та підсистем.

Тиждень іржі 2026

Під час нещодавньої конференції Rust Week 2026 відбулася в Утрехті, Грег Кроах-Хартман, один з головних відповідальних за підтримку ядра Linux, Він вийшов на сцену з дуже чітким посланням: іржа — це порятунок, який потрібен проєкту..

З вражаючою кількістю майже тринадцяти сповіщень безпеки (CVE) опубліковано щодняКоманда розробників стикається з майже некерованим обсягом помилок. За словами Кроа-Гартмана, хто займався цими вразливостями з 2005 року, Вина лежить на класичних недоліках мови C, коли йдеться про обробку пам'яті та помилок.проблема, яку Rust обіцяє кардинально вирішити.

Повідомлення було прямим і зрозумілим. Виступаючи перед переповненою аудиторією розробників, досвідчений програміст Він зізнався, що команда повністю довіряє спільноті цієї сучасної мови. захистити основи сучасної обчислювальної техніки. Для них, Фаза тестування тепер залишилася в минулому, Оскільки використання Rust в ядрі є абсолютною реальністю, вони продовжуватимуть повними темпами інтегрувати його в найважливіші компоненти.

Кошмар коду C та автоматичне рішення Rust

Щоб проілюструвати справжню проблему, з якою вони стикаються щодняРозробник згадав про недолік у коді Bluetooth, який залишався непоміченим протягом п'ятнадцяти років.спричинено просто неперевіркою покажчика пам'ятіВін також згадав про помилку в коді Xen, через яку хтось забув зняти блокування.Ці незначні людські помилки накопичуються з часом і зрештою призводять до збоїв системи або відкривають шляхи для кібератак. Великою перевагою Rust є те, що він виявляє ці помилки під час компіляції коду.перш ніж дійде до фази перевірки. Якщо програміст забуде перевірити наявність помилок або звільнити ресурс, програма просто відмовиться компілюватися.

Завдяки цій автоматичній перевірці, ті, хто відповідає за перегляд кодексу Їм більше не потрібно витрачати час на пошук дрібних деталей, і вони можуть зосередитися на фактичній логіці програми. Кроа-Хартман оцінює, що самі лише ці властивості дозволять усунути шістдесят відсотків поточних помилок ядра. Крім того, цей новий спосіб роботи вже вплинув на код C, змусивши програмістів очищати свої інтерфейси та застосовувати безпечніші методи, демонструючи, що саме існування Rust вже покращило Linux.

Поза блоками пам'яті, У доповіді розглядалася філософія життєво важливої ​​безпеки на основі старого прислів'я Microsoft: припускати, що будь-які дані, що потрапляють до системи, є шкідливимиКроа-Хартман пояснив, що вони працюють над методом у Rust, який би явно позначав дані як «ненадійні» в межах тієї ж системи типів.

Таким чином, Компілятор змусить програміста перевірити цю інформацію, перш ніж він зможе її використовувати або отримувати до неї доступ.Це особливо важливо сьогодні, оскільки розробники з обережністю ставляться не лише до користувацького програмного забезпечення, а й до самого обладнання, яке часто має заводські дефекти або навіть може бути розроблене зі зловмисним налаштуванням. Завдяки централізації всієї перевірки в одній точці, перевірки безпеки будуть набагато швидшими та точнішими.

Еволюція без переписування з нуля

Незважаючи на свій ентузіазм, експерт Він чітко дав зрозуміти, що Rust — це не магія.Як приклад він згадав невеликий фрагмент коду, написаний цією мовою, призначений для відображення QR-коду у разі збою системи, що зрештою спричинило проблеми з пам'яттю, оскільки ніхто не подумав перевірити розмір буфера даних. Іржа також може вийти з ладу, якщо її не використовувати обережно та з урахуванням здорового глузду. З цієї причини ніхто в організації не розглядає можливість переписування 36 мільйонів рядків коду на C, які вже є в Linux. Правило абсолютне: Старий код залишиться як є, а нові інструменти будуть використовуватися лише для створення сучасних контролерів.

В даний час, напрЯдро Rust має лише близько 113 000 рядків.здебільшого тимчасові адаптації для подолання розриву між двома мовами. Однак величезні проекти, такі як система внутрішнього зв'язку Android (Папка) Вони вже перебувають у розпалі перехідного процесуа це означає, що незабаром мільярди телефонів щодня використовуватимуть цей код.

Проєкт розглядає цю зміну як природну еволюцію, де старі драйвери C просто вийдуть з ужитку з роками, оскільки нове обладнання вимагає програм, створених з нуля, із сучасними гарантіями безпеки.


Додати як пріоритетне джерело в Google