Linux 6.2 уже выпущен, и это его новости

Ядро Linux

Linux — в основном свободное ядро, похожее на ядро ​​Unix, — один из основных примеров бесплатного программного обеспечения с открытым исходным кодом.

После двух месяцев разработки Линус Торвальдс объявил о выпуске ядра Linux 6.2, где наиболее заметные изменения включают лицензионный код Copyleft-Next, улучшенную реализацию RAID5/6 в Btrfs, продолжение интеграции поддержки языка Rust, снижение накладных расходов на защиту от Retbleed, добавленное ограничение на перезапись памяти и добавлен механизм TCP. ) был добавлен.

Новая версия получила 16843 исправления от 2178 разработчиков, размер патча 62 МБ (изменения затронули 14108 файлов, добавлено 730195 строк кода, удалено 409485 строк). Около 42% всех изменений, внесенных в 6.2, связаны с драйверами устройств, около 16% изменений связаны с обновлением кода, характерного для аппаратных архитектур.

Основные новые возможности Linux 6.2

В этой новой версии, которая представлена включая предоставленный код и изменения, разрешено лицензией Copyleft-Next 0.3.1. Лицензия Copyleft-Next была создана одним из участников GPLv3 и полностью совместима с лицензией GPLv2, что подтверждено юристами SUSE и Red Hat. По сравнению с GPLv2, лицензия Copyleft-Next намного компактнее и понятнее (убрана вводная часть и упоминание об устаревших обязательствах), определяет время и порядок устранения нарушений, автоматически снимает требования по авторскому леву при устаревании, что более чем 15 лет.

Еще одно важное изменение: включена утилита «rv», предоставляющая интерфейс для взаимодействия из пользовательского пространства с обработчиками подсистемы RV (Проверка во время выполнения) Проверка выполняется во время выполнения путем присоединения контроллеров к точкам трассировки, которые проверяют фактический ход выполнения в сравнении с эталонной моделью детерминированного автомата по умолчанию, которая определяет ожидаемое поведение системы.

Добавлен API «iommufd» для управления пользовательским пространством модуля управления памятью ввода-вывода (Memory Management Unit). Новый API позволяет управлять таблицами страниц памяти ввода-вывода с помощью файловых дескрипторов.

Для замкового механизма РКО (читать-копировать-обновлять), реализован необязательный механизм обратного вызова в котором таймер обрабатывает несколько обратных вызовов одновременно в пакетном режиме. Применение предложенной оптимизации позволяет снизить энергопотребление на устройствах Android и ChromeOS на 5-10% за счет откладывания запросов RCU во время простоя или низкой загрузки системы.

Добавлена ​​новая опция командная строка ядра «trace_trigger» для запуска триггера трассировки который используется для привязки условных команд, которые вызываются при запуске трассировки стека (например, trace_trigger="sched_switch.stacktrace, если prev_state == 2").

Еще одно важное изменение: запущен порт дополнительного функционала из ветки Rust-for-Linux Относится к использованию Rust в качестве второго языка для разработки драйверов и модулей ядра. Поддержка Rust по умолчанию отключена и не приводит к включению Rust в качестве обязательной зависимости сборки ядра. Базовая функциональность, предлагаемая в последней версии, расширена функциями поддержки низкоуровневого кода, такими как тип Vec и макросы pr_debug!(), pr_cont!() и pr_alert!(), а также макросы "#[vtable ]"макросы.", процедурный макрос, упрощающий работу с таблицами указателей на функции. Ожидается, что в будущих выпусках будут добавлены высокоуровневые оболочки Rust поверх подсистем ядра, что позволит вам создавать полноценные драйверы на Rust.

В дополнение к этому также подчеркивается, что реализован новый метод защиты от уязвимости Retbleed в процессорах Intel и AMD используя отслеживание глубины вызова, которое не так медленно, как представленная выше защита от ретблинга. Для включения нового режима предлагается параметр командной строки ядра «retbleed=stuff».

En Платформа АРМ64, на стадии загрузки, есть возможность включать и отключать программную реализацию механизма Shadow Stack, который используется для защиты от перезаписи адреса возврата функции в случае переполнения буфера стека (суть защиты заключается в сохранении адреса возврата в отдельном стеке после передачи управления функции и восстановлении адреса, заданного перед выходом из функции ).

Из других изменений, которые выделяются:

  • Для IPv6 добавлена ​​поддержка PLB (защитная балансировка нагрузки): за счет изменения метки потока IPv6 PLB случайным образом изменяет маршруты пакетов, чтобы сбалансировать нагрузку на порты коммутатора.
  • Добавлена ​​поддержка 800 гигабитных ссылок.
  • Добавлена ​​возможность переименовывать сетевые интерфейсы на лету, не останавливая работу.
  • Добавлено упоминание IP-адреса, на который пришел пакет, в сообщения SYN-флуда, записываемые в журнал.
  • Для UDP реализована возможность использования отдельных хэш-таблиц для разных сетевых пространств имен.
  • Сетевые мосты поддерживают метод аутентификации MAB (MAC Authentication Bypass).
  • Драйвер i915 (Intel) стабилизировал поддержку дискретных графических карт Intel Arc (DG2/Alchemist) и улучшил поддержку графических процессоров Meteor Lake.
  • Драйвер Nouveau поддерживает графический процессор NVIDIA GA102 (RTX 30) на базе архитектуры Ampere. Для карт nva3 (GT215) добавлена ​​возможность управления подсветкой.

Наконец, если вам интересно узнать об этом больше, вы можете ознакомиться с подробностями По следующей ссылке.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.