Обновление ядра 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.

Источники[править]

Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «Обновление ядра Linux: 3.5-RC1, 3.4.1, 3.3.8, 3.2.19, 3.0.33. Обзор новшеств 3.5-RC1», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.