Ветки ядра Linux, поддерживаемые Центром
Каждая ветка ядра Linux, поддерживаемая Центром (lvc-ветка), формируется на основе одной из стабильных версий ядра (далее называемой базовой веткой).
В настоящий момент Координационным советом Консорциума участников поддержки Технологического центра утвержден перечень базовых веток ядра Linux, в который входят 5.10, 6.1 и 6.12, первые две из которых запланированы к поддержке международным сообществом разработчиков до 2027 года, а последняя до 2026 года.
Для доступа к поддерживаемым веткам используйте следующие ссылки:
| Версия | Дата выпуска | Архив | Подпись | Репозиторий |
|---|---|---|---|---|
| v5.10.246-lvc67 | 2025-12-01 | [tarball] | [подпись] | [browse] |
| v6.1.158-lvc39 | 2025-12-03 | [tarball] | [подпись] | [browse] |
| v6.12.59-lvc7 | 2025-12-03 | [tarball] | [подпись] | [browse] |
Для Партнёров Центра также доступны закрытые ветки ядра, содержащие дополнительные патчи с исправлениями уязвимостей, на которые распространяется действие периода эмбарго. После завершения периода эмбарго эти патчи переносятся в соответствующие публичные ветки ядра.
Для проверки подписи архива ветки ядра Linux, поддерживаемой Центром, используйте инструкцию.
Поддерживаемые ветки ядра Linux прошли исследования в Центре при помощи:
- Статического анализа (SVACE) (Результаты)
- Системного и модульного тестирования (Результаты)
- Фаззинг-тестирования (Фаззинг продолжается до появления следующей версии)
В настоящий момент выполняется полная отработка всех предупреждений, связанных с исправлениями, появляющимися в ветках 5.10 и 6.1. Для демонстрации того, какие результаты приносит такой анализ, можно посмотреть на некоторые примеры ситуаций, в которых удавалось выявить ошибки в стабильных ветках ядра, ещё до их официального релиза:
- xfs: use xfs_defer_pending objects to recover intent items
- r8169: Fix possible ring buffer corruption on fragmented Tx packets
- 5.10.203-rc3 review
- drm/vc4: hdmi: Make sure the device is powered with CEC
Предупреждения статического анализатора относительно кода, который не изменяется в поддерживаемых ветках, отрабатываются в плановом порядке. По состоянию на июнь 2024 года статистика отработки предупреждений в актуальных версиях ядра 5.10 и 6.1 в зависимости от уровня критичности выглядит следующим образом:
| m09 | В работе | Обработано | Всего |
|---|---|---|---|
| Критичные | 1 | 1757 (99.9%) | 1758 |
| Важные | 1503 | 9726 (86%) | 11229 |
| Средние | 2937 | 6658 (69%) | 9595 |
| Низкие | 10249 | 5340 (34%) | 15589 |
| Всего | 14690 | 23481 (61%) | 38171 |
Отметим, что значимая часть предупреждений, отработанных в ходе проекта, уже была исправлена как за счёт доработок в ядре, так и за счёт доработок в инструментах статического анализа. Также важно отметить, что результаты разметки более 60% размеченных предупреждений прошли независимую кросс-верификацию.
Принципы поддержки базовой ветки ядра международным сообществом
Согласно устоявшейся практике в международном сообществе разработчиков ядра Linux на этапе поддержки стабильные ветки получают регулярные обновления примерно один или два раза в неделю.
Базовый прицип обновления стабильной ветки заключается в том, что в неё принимаются только патчи, которые уже вошли в основную версию ядра. Также требуется, чтобы эти патчи являлись исправлением ошибок, хотя в некоторых случаях допускаются и другие варианты, например, добавление информации, что определённые устройства поддерживаются уже существующими в ядре драйверами. Совсем в редких случаях допускается применение патчей не вошедших в основную версию ядра, но только тогда, когда ошибка в основной ветке отсутствует ввиду произошедших изменений в соответствующей подсистеме, и эти изменения не пригодны для применения к стабильной ветке.
Процесс выпуска обновлений стабильной ветки устроен следующим образом. Ответственный за поддержку (как правило, Greg Kroah-Hartman <gregkh@linuxfoundation.org> или Sasha Levin <sashal@kernel.org>) выпускает кандидат на релиз, о чём сообщается в списке рассылки stable@vger.kernel.org. Соответствующий код также публикуется в репозитории https://git.linuxtesting.ru/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/. В письме с объявлением указывается срок (как правило, около двух дней), в который ожидается обратная связь о качестве кандидата на релиз от всех заинтересованных сторон. В тестировании кандидатов на релиз, как правило, принимают участие несколько лабораторий, ответственных за качество ядра со стороны организаций (например, от Linaro, CIP Project и NVidia), а также несколько энтузиастов.
Если в ходе тестирования не выявлено существенных проблем, то кандидат на релиз превращается в новый официальный релиз стабильной ветки ядра, о чём рассылается уведомление в список рассылки, а код публикуется в репозитории https://git.linuxtesting.ru/pub/scm/linux/kernel/git/stable/linux-stable.git/.