Вышел Linux 6.1
11 декабря 2022 года Линус Торвальдс представил первый стабильный релиз ядра Linux 6.1. Выпуск новой версии ядра Linux вышел в соответствии с графиком, но всё же с задержкой на неделю, спустя два месяца после выхода предыдущей стабильной версии Linux 6.0 в начале октября этого года.
Исходный код Linux 6.1 уже доступен для загрузки на портале kernel.org. Коммит релиза ядра Linux 6.1 на GitHub и на Makefile от Линуса Торвальдса.
Согласно OpenNET, в Linux 6.1 принято 15 115 исправлений от 2 139 разработчиков. Размер патча составляет 51 МБ, что примерно в 2 раза меньше размера патчей от ядер 6.0 и 5.19. Изменения затронули 13 165 файлов, там добавлено 716 247 строк кода и удалено 304 560 строк кода. Около 45% всех представленных в ядре Linux 6.1 изменений связаны с драйверами устройств, примерно 14% изменений имеют отношение к обновлению кода, специфичного для аппаратных архитектур, 14% связано с сетевым стеком, по 3% изменений связаны с файловыми системами и с внутренними подсистемами ядра.
Новая версия ядра Linux содержит большое количество изменений, обновлений и доработок, включая:
- поддержку разработки драйверов и модулей на языке Rust;
- модернизацию механизма определения используемых страниц памяти;
- специальный менеджер памяти для BPF-программ;
- систему диагностики проблем с памятью KMSAN;
- механизм защиты KCFI (Kernelk Control-Flow Integrity);
- внедрение структуры Maple tree.
Основной мотив поддержки Rust — упрощение написания безопасных и качественных драйверов устройств за счёт снижения вероятности совершения ошибок при работе с памятью. Поддержка Rust неактивна по умолчанию и не приводит к включению Rust в число обязательных сборочных зависимостей к ядру. В ядро Linux 6.1 пока принят минимальный урезанный вариант патчей, который сокращён с 40 до 13 тыс. строк кода и обеспечивает только необходимый минимум, достаточный для сборки простого модуля ядра, написанного на языке Rust. В дальнейшем планируется постепенно наращивать имеющуюся функциональность, перенося и другие изменения из ветки Rust-for-Linux.
По поводу срыва сроков релиза на неделю из-за будущих праздников Торвальдс пояснил, что он доволен текущим релизом, но никаких поблажек мейнтейнерам проекта по дальнейшей разработке ядра из-за праздников он не приемлет, чтобы не срывать сроки дедлайнов релиза новых версий Linux.
16 октября в процессе выпуска версии ядра Linux 6.1-rc1 Линус Торвальдс отчитал ментейнеров проекта ядра Linux за постоянный срыв дедлайнов и расслабленность в работе. Торвальдс сдержался в обращении в рамках дозволенного, но потребовал, чтобы разработчики перестали постоянно тянуть с отправкой кода. По поводу злоупотребления сроков дедлайнов Торвальдс напомнил, что он и раньше говорил, что это его действительно очень сильно раздражает. По словам Торвальдса, многие мейнтейнеры присылают ему необходимые элементы кода на рассмотрение очень поздно, что ставит под угрозу срыва сроки релиза новых версий Linux. В своём обращении к разработчикам Торвальдс также обратился к тем, кто сдаёт ему проделанную работу после заявленного срока. «Привычку откладывать всё до последнего нужно было оставить в школе. Это совершенно не подходит для разработки ядра Linux», — написал Торвальдс.