![](https://habrastorage.org/webt/g8/m7/zs/g8m7zs07zoldoaqc6wucoayjaoo.png)
19 февраля 2023 года Линус Торвальдс представил первый стабильный релиз ядра Linux 6.2. Выпуск новой версии ядра Linux вышел в соответствии с графиком, спустя два месяца после выхода предыдущей стабильной версии Linux 6.1 в середине декабря прошлого года.
Исходный код Linux 6.2 уже доступен для загрузки на портале kernel.org. Коммит релиза ядра Linux 6.2 на GitHub и на Makefile от Линуса Торвальдса.
Согласно OpenNET, в Linux 6.2 принято 16 843 исправления от 2 178 разработчиков. Размер патча составляет 62 МБ. Изменения затронули 14 108 файлов, там добавлено 730 195 строк кода и удалено 409 485 строк кода. Около 42% всех представленных в ядре Linux 6.2 изменений связаны с драйверами устройств, примерно 16% изменений имеют отношение к обновлению кода, специфичного для аппаратных архитектур, 12% связано с сетевым стеком, 4% изменений связаны с файловыми системами, а 3% — с внутренними подсистемами ядра.
Новая версия ядра Linux содержит большое количество изменений, обновлений и доработок, включая:
- разрешение приёма кода под лицензией Copyleft-Next;
- улучшенную реализацию RAID5/6 в Btrfs;
- новый метод защиты от уязвимости Retbleed в CPU Intel и AMD;
- продолжение интеграции поддержки языка Rust;
- доработки в драйвере exFAT — там значительно ускорены операции создания файлов и каталогов;
- удаление пакетного драйвера для CD/DVD, который был объявлен устаревшим в 2016 году;
- переработанный код обработки прерываний MSI (Message-Signaled Interrupts);
- добавление возможности регулирования потребления памяти при отложенной записи;
- добавление для TCP механизма балансировки PLB (Protective Load Balancing);
- добавление гибридного механизма защиты потока выполнения команд (FineIBT);
- добавление для IPv6 поддержки PLB (Protective Load Balancing);
- добавление поддержки 800-гигабитных линков;
- возможность определения в BPF собственных объектов и структур данных;
- добавление в состав утилиты rv (Runtime Verification), предназначенной для проверки корректности работы на высоконадёжных системах, гарантирующих отсутствие сбоев;
- снижение энергопотребления в реализации блокировок RCU;
- поддержку дискретных видеокарт Intel Arc (DG2/Alchemist) и улучшенную поддержку GPU Meteor Lake;
- поддержку смартфонов и планшетов Sony (Xperia 10 IV, 5 IV, X и X compact, OnePlus One, 3, 3T и Nord N100, Xiaomi Poco F1 и Mi6, Huawei Watch, Google Pixel 3a, Samsung Galaxy Tab 4 10.1;
- поддержку ARM SoC и плат Apple T6000 (M1 Pro), T6001 (M1 Max), T6002 (M1 Ultra), Qualcomm MSM8996 Pro (Snapdragon 821), SM6115 (Snapdragon 662), SM4250 (Snapdragon 460), SM6375 (Snapdragon 695), SDM670 (Snapdragon 670), MSM8976 (Snapdragon 652), MSM8956 (Snapdragon 650), RK3326 Odroid-Go/rg351, Zyxel NSA310S, InnoComm i.MX8MM, Odroid Go Ultra.
В Linux 6.2 начался перенос из ветки Rust-for-Linux дополнительной функциональности, связанной с использованием языка Rust в качестве второго языка для разработки драйверов и модулей ядра. Поддержка Rust неактивна по умолчанию и не приводит к включению Rust в число обязательных сборочных зависимостей к ядру. Предложенная в Linux 6.1 базовая функциональность Rust расширена возможностями для поддержки низкоуровневого кода, таких как тип Vec и макросы pr_debug!(), pr_cont!() и pr_alert!(), а также процедурный макрос "#[vtable]", упрощающий работу с таблицами указателей на функции. Добавление высокоуровневых Rust-обвязок над подсистемами ядра, которые позволят создавать полноценные драйверы на Rust, ожидается в следующих выпусках ядра Linux.