Новости «Ядро Linux»
Linux 5.15
На Хэлуин 2021 Линус Торвальдс представил публике следующую версию основной ветки ядра – 5.15.
В то время как разработка Linux 5.14 была сфокусирована на улучшениях для систем на основе ARM, разработка Linux 5.15 уделяет внимание сразу нескольким значительным изменениям.
( читать дальше... )
Дополнительная информация со всеми техническими деталями доступна в официальном анонсе.
>>> Подробности (itsfoss.com)
В ядре Linux 5.14.7 выявлена проблема, приводящая к падению на системах с планировщиком BFQ
Пользователи различных дистрибутивов, у которых применяется планировщик ввода/вывода BFQ (Budget Fair Queueing), после обновления ядра Linux до выпуска 5.14.7 столкнулись проблемой, приводящей к падению ядра в течение нескольких часов после загрузки. Проблема также продолжает проявляться в ядрах 5.14.8 и 5.14.9. Причиной стало перенесённое из тестовой ветки 5.15 регрессивное изменение в планировщике BFQ, которое пока устранено только в виде патча.
В качестве обходного пути для решения проблемы можно заменить планировщик на mq-deadline. Например, для устройства nvme0n1:
echo mq-deadline > /sys/block/nvme0n1/queue/scheduler
>>> Источник (opennet.ru) (opennet.ru)
()
Новая книга «Linux Kernel Programming»
Много воды утекло с момента выхода LDD3 (LDD4 мы, видимо, уже не дождёмся), безнадёжно устарел фундаментальный труд Бовета и Чезати, Роберт Лав давно не радовал нас своими прекрасными творениями. Казалось бы, в мире литературы о программировании ядра Linux наметилась устойчивая стагнация…
Но нет! Ситуацию спасает замечательный индийский программист со звучным именем Кайван Биллимория. Он написал книгу о программировании ядра, аж в двух томах.
Об авторе
Кайван программирует с 1983 года. В то время он самостоятельно научился программировать на бейсике, затем освоил Си и ассемблер под MS-DOS, а потом открыл для себя мир UNIX и Linux. Занимался программированием ядра и драйверов, участвовал в коммерческих и свободных проектах, занимался преподавательской деятельностью.
Повествование в книге ведётся на основе Ubuntu 18.04 LTS и ядра версии 5.4.
( читать дальше... )
>>> Том 1 на Amazon
>>> Том 2 на Amazon
SquashFS Tools 4.5 — 20 лет с начала разработки SquashFS
Несмотря на то, что в ядро SquashFS была включена лишь в 2009 году, работа над ней началась гораздо раньше. В честь двадцатилетнего юбилея с начала разработки, Phillip Lougher объявил новый релиз SquashFS-Tools.
Из нововведений:
- Возможность определить «действия» по шаблону для отдельных файлов в
mksquashfs. Например, добавить в архив без сжатия. - Команда
sqfstarдля преобразования Tar–архива в SquashFS. - Возможность ограничить загрузку процессора и дисковой подсистемы при работе
mksquashfs. - Возможность задавать дату для псевдо–файлов, имитация ссылок, сокетов и потоков ввода–вывода.
- Команда
sqfscat, выводящая содержимое отдельных файлов из архива. - Поддержка символьных ссылок при распаковке SquashFS, возможность ограничить глубину обхода или исключить файлы по шаблону.
- И множество других улучшений и исправлений.
Linux 5.13
Линус Торвальдс анонсировал новую версию ядра Linux 5.13, отдельно подчеркнув, что это самый большой релиз по количеству проделанной работы!
После седьмого релиз-кандидата у нас была довольно спокойная неделя, и я не вижу причин откладывать релиз версии 5.13. Изменений за последнюю неделю мало, всего 88 коммитов не считая слияний (и некоторые из них просто откаты). Это не особо важные исправления и поскольку их мало, я предлагаю людям просто просмотреть прилагаемый список изменений, чтобы узнать, что произошло. В целом в 5.13 очень много изменений. Фактически, это один из самых крупных релизов 5.х с более чем 16 тысячами коммитов (более 17 тысяч, если считать слияния) от более чем 2 тысяч разработчиков. Однако, все эти изменения затронули всё и понемногу, поэтому трудно выделить что-то одно…
Наиболее значимые изменения:
- LSM-модуль Landlock для дополнительного ограничения процессов (подробности);
- возможность сборки в Clang с защитой CFI (Control Flow Integrity) (подробности);
- рандомизация стека ядра для каждого системного вызова;
- поддержка одновременного сброса TLB;
- поддержка чипов М1 (пока на начальной стадии);
- поддержка новых GPU от Intel и AMD;
- возможность прямого вызова функций ядра из BPF-программ (подробности);
- виртуальное звуковое устройство на базе virtio;
- multi-shot режим в io_uring.
( читать дальше... )
>>> Подробности (kernelnewbies.org)
Исследователям удалось добавить в ядро Linux уязвимый код
Исследователи из университета Миннесоты — Цюши У и Канцзе Лу в рамках исследования «небезопасности» OSS модели пытались выяснить, насколько вероятно намеренное добавление уязвимостей в проекты. Среди прочего патчи были отправлены в ядро Linux.
В результате код ревью прошли 4 патча, в том числе 3 содержащих уязвимости. Представители проекта Linux обратились с жалобой на исследование к администрации университета, однако не нашли поддержки. Потому было принято решение больше никогда не принимать патчи от людей из этого заведения.
( читать дальше... )
>>> Ссылка на исследование (github.com)
()
Линус высказал своё мнение о Rust в ядре
Поживем - увидим
Мне интересен проект внедрения Rust в ядро. Но я считаю, что авторы этого проекта предвзяты по отношению к Rust, и хотелось бы сначала посмотреть, как это обернется на практике.
Лично Торвальдс не продавливает Rust в ядро, но он «готов оценить обещанные преимущества и возможность избегания граблей, связанных с безопасностью», но также понимает, что «иногда обещанное не исполняется».
Торвальдс полагает, что первоначальной областью применения Rust в ядре могут быть драйверы, поскольку их написание представляет собой множество небольших и независимых задач. «Может, это не самое интересное применение, но оно самое очевидное». Он добавил, что поскольку многие устройства предназначены не для всех процессорных архитектур, недостаток их поддержки в Rust – не такая большая проблема.
>>> Источник (zdnet.com)
()
Linux 5.11
Состоялся релиз новой версии ядра.
Из нового:
-
Реализована поддержка APU Ryzen 5000 серии, а также начальная поддержка Navi 2 и видеокарт Nvidia на архитектуре Ampere.
-
Добавлено несколько новых опций монтирования для XFS (kernel.org) и Btrfs. Также был проведён ряд оптимизаций для последней ФС.
-
Новый механизм перехвата системных вызовов, основанный на prctl().
-
Архитектура IA-64 переведена в разряд «orphanned» («без поддержки»).
-
Добавлена поддержка первого USB4-контроллера Intel Maple Ridge.
И многое другое.
>>> Новость в рассылке (lkml.org)
Linux 5.10
Тихо и незаметно состоялся релиз ядра версии 5.10. По признанию самого Торвальдса, ядро «состоит из по большей части новых драйверов с вкраплениями из патчей», что неудивительно, ибо ядро получило статус LTS.
Из нового:
-
Поддержка fast_commit в файловой системе Ext4. Теперь приложения будут писать в кэш меньше метаданных, что ускорит запись! Правда, её надо явно включить при создании ФС.
-
Дополнительные настройки доступа через интерфейс io_uring, которые позволяют безопасно давать доступ к ресурсам колец дочерним приложениям.
-
Введён системный вызов process_madvise, позволяющий давать ядру информацию об ожидаемом поведении целевого приложения. Аналогичная система, кстати, используется в Android (демон ActivityManagerService).
-
Исправлена проблема 2038 года для файловой системы XFS.
и многое другое.
Также стоит отметить, что тут же была выпущена версия 5.10.1, отменяющая два изменения, приводившие к проблемам в подсистемах md и dm raid. Так что да, 0-day-патчи бывают даже для ядра Linux.
Подробнее:
>>> Скачать tarball (kernel.org)
Вышло ядро версии Linux 5.9 добавлена поддержка FSGSBASE и Radeon RX 6000 «RDNA 2»
Линус Торвальдс объявил о стабилизации версии 5.9.
В числе прочих изменений он внес в ядро версии 5.9 поддержку FSGSBASE, которая должна улучшить производительность переключения контекста на процессорах AMD и Intel. FSGSBASE позволяет читать и изменять содержимое регистров FS/GS из пространства пользователя, что должно улучшить общую производительность, пострадавшую после закрытия уязвимостей Spectre/Metldown. Сама поддержка была добавлена инженерами Microsoft несколько лет назад.
Так же:
- добавлена поддержка Radeon RX 6000 «RDNA 2»
- добавлена поддержка команд зонирования накопителей NVMe (NVMe zoned namespaces (ZNS))
- начальная поддержка IBM Power10
- различные улучшения подсистемы хранилищ, ужесточена защита от использования GPL-прослоек для связывания проприетарных драйверов с компонентами ядра
- модель потребления энергии (фреймворк Energy Model) теперь описывает не только поведение энергопотребления CPU, но и периферийных устройств
- В Netfilter добавлен REJECT на стадии PREROUTING
- для AMD Zen и более новых моделей CPU добавлена поддержка технологии P2PDMA, позволяющей использовать DMA для прямой передачи данных между памятью двух устройств, подключенных к шине PCI.
>>> Подробности (kernel.org)
| ← предыдущие | следующие → |
