Обновление ядра Linux: 3.5-RC1, 3.4.1, 3.3.8, 3.2.19, 3.0.33. Обзор новшеств 3.5-RC1
5 июня 2012 года
Представлены очередные корректирующие релизы ядра Linux: 3.4.1 ( 89 исправлений), 3.3.8 ( 97 исправлений), 3.2.19 ( 119 исправлений) и 3.0.33 ( 58 исправлений). Как обычно, в анонсе выхода новых версий подчеркивается обязательность проведения обновления. Версия 3.3.8 является последним корректирующим выпуском в ветке 3.3.x, пользователям рекомендуется перейти на использование веток с длительным сроком поддержки 3.2.x и 3.0.x или обновить ядро до ветки 3.4.x. Из подсистем в которые внесены исправления можно отметить: USB (в том числе добавлены идентификаторы новых устройств), nouveau, drm/i915, Xen, gma500 (устранён крах при засыпании на некоторых системах Poulsbo), SCSI, VFS.
Дополнительно можно отметить выход первого кандидата в релизы ядра Linux 3.5, который ознаменовал закрытие окна по приёму новшеств в ветку 3.5. Отмечается, что около 60% от всех принятых изменений связаны с драйверами устройств, 20% с поддержкой аппаратных архитектур и 20% с такими частями ядра, как файловые системы, документация и вспомогательные утилиты.
Кратко о некоторых новшествах:
- В ядро принят код с реализацией механизма seccomp filter, принцип работы которого сводится к ограничению доступа к системным вызовам. Важной особенностью seccomp filter является то, что логика выставляемых ограничений задаётся на уровне защищаемого приложения, а не через задание внешних ограничений, как в случае AppArmor или SELinux. В код программы добавляется структура с перечнем допустимых системных вызовов (например, ALLOW_SYSCALL) и реакции в случае несовпадения (например, KILL_PROCESS). Доступ к системным вызовам определяется в виде правил, оформленных в BPF-представлении (Berkeley Packet Filter), которое получило распространение в системах фильтрации сетевых пакетов.
Система seccomp filter позволяет реализовывать достаточно сложные правила доступа, учитывающие передаваемые и возвращаемые аргументы. Программа сама определяет какие системные вызовы ей необходимы и какие параметры допустимы, все остальные системные вызовы блокируются, что позволяет ограничить возможности атакующего в случае эксплуатации уязвимости в защищённом при помощи seccomp приложении. Возможность задания фильтров аргументов позволяет также защититься от большинства атак, эксплуатирующих уязвимости в системных вызовах. Например, выявленные за последние годы критические уязвимости в glibc и ядре Linux, такие как AF_CAN (Архивная копия от 17 февраля 2021 на Wayback Machine), sock_sendpage и sys_tee(недоступная ссылка), успешно блокируются при надлежащем использовании seccomp.
- Поддержка интерфейса для восстановления TCP-соединений, позволяющего зафиксировать контрольную точку с которой можно возобновить остановленное соединение (например, после перезагрузки системы).
- Поддержка RFC 5827 (ранняя повторная отправка пакетов) в сетевом стеке, позволяющая увеличить скорость восстановления потока после потери пакетов;
- Интеграция алгоритма управления очередями ожидающих отправки пакетов CoDel, разработанного в рамках инициативы по борьбе с негативным влиянием промежуточной буферизации пакетов (Bufferbloat);
- Добавление в модуль Yama двух дополнительных режимов для контроля доступа к функциональности PTRACE_ATTACH;
- Переработан код планировщика задач для архитектуры NUMA;
- Интеграция кода uprobes (userspace probes), позволяющего организовать анализ поведения выполняемых в пространстве пользователя приложений;
- В Ext4 добавлена поддержка контрольных сумм для проверка целостности метаданных;
- Удаление устаревшего кода, в том числе удалены: драйвер ixp2000 Ethernet, драйверы для карт MCA, sun4c SPARC CPU, netfilter-модуль ip_queue (его заменил nfnetlink_queue), все компоненты поддержки сетей Token ring, поддержка протокола Econet, поддержка процессоров ARMv3 и IXP2xxx (XScale), поддержка плат ST-Ericsson U5500, драйвер последовательных портов Motorola 68360;
- Обеспечена поддержка плат Blackfin BF609, Renesas Armadillo-800 EVA и KZM-A9-GT;
- Поддержка сетевых устройств: WIZnet W5100, W5300, Marvell Avastar 88W8797, Emulex One Connect InfiniBand-over-Ethernet, GCT Semiconductor GDM72xx WiMAX;
- Поддержка USB host-контроллеров: Marvell PXA USB OTG, Broadcom BCMA и SSB, USB-трансивера NXP ISP1301, контроллера периферии NXP LPC32XX;
- Интегрированы драйверы для звуковых карт Creative Sound Core3D и Xonar DGX;
- Поддержка работы SCSI target поверх протоколов FireWire или UASP (USB Attached SCSI Protocol);
- Добавлены базовые KMS-драйверы для графических чипов ASpeed Technologies 2000 и Matrox G200, а также для карт Cirrus, эмулируемых в Qemu;
- В системе DMA-BUF, предназначенной для организации совместного использования буферов драйверами и различными подсистемами ядра, расширена поддержка интерфейса PRIME, который позволит реализовать возможность бесшовного переключения вывода между разными видеокартами;
- В DRM-драйвере Radeon расширена поддержка новых Evergreen GPU и обеспечен вывод звука через HDMI. Обновлен DRM-драйвер для карт Intel.
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.