Linux 5.17
После двух месяцев разработки Линус Торвальдс представил ядро Linux 5.17.
( читать дальше... )
>>> Подробности (lkml.org)
После двух месяцев разработки Линус Торвальдс представил ядро Linux 5.17.
( читать дальше... )
>>> Подробности (lkml.org)
Во время обсуждения набора патчей, связанных с исправлением уязвимостей класса Spectre в коде для работы со связанными списками, стало ясно, что проблему удалось бы решить более изящно, если бы в ядро допускался код, использующий стандарт старше C89. Сейчас код в ядре должен соответствовать С89 (с GNU расширениями) на основе спецификации, сформированной ещё в 1989 году. Связанная со Spectre проблема была в том, что для перебора элементов списка используется макрос. Так как переменная цикла передаётся в этот макрос, то она определяется вне самого цикла и остаётся доступна после цикла. Использование более новых стандартов языка C позволит определять переменные для цикла прямо в блоке for.
В связи с этим, Линус Торвальдс предложил попробовать перейти в ядре 5.18 на стандарт C99, который был опубликован в 1999 году, на что получил встречное предложение перейти сразу на C11. При проверке сборки в GCC и Clang с новым стандартом проблем пока не возникло и, если при более тщательном тестировании ситуация не изменится, в сборочных скриптах ядра 5.18 опция --std=gnu89 будет заменена на --std=gnu11 -Wno-shift-negative-value.
В случае неудачи, переход будет отложен на один из следующих выпусков.
>>> Подробности (lwn.net)
На Хэлуин 2021 Линус Торвальдс представил публике следующую версию основной ветки ядра – 5.15.
В то время как разработка Linux 5.14 была сфокусирована на улучшениях для систем на основе ARM, разработка Linux 5.15 уделяет внимание сразу нескольким значительным изменениям.
( читать дальше... )
Дополнительная информация со всеми техническими деталями доступна в официальном анонсе.
>>> Подробности (itsfoss.com)
Пользователи различных дистрибутивов, у которых применяется планировщик ввода/вывода 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)
Много воды утекло с момента выхода LDD3 (LDD4 мы, видимо, уже не дождёмся), безнадёжно устарел фундаментальный труд Бовета и Чезати, Роберт Лав давно не радовал нас своими прекрасными творениями. Казалось бы, в мире литературы о программировании ядра Linux наметилась устойчивая стагнация…
Но нет! Ситуацию спасает замечательный индийский программист со звучным именем Кайван Биллимория. Он написал книгу о программировании ядра, аж в двух томах.
Об авторе
Кайван программирует с 1983 года. В то время он самостоятельно научился программировать на бейсике, затем освоил Си и ассемблер под MS-DOS, а потом открыл для себя мир UNIX и Linux. Занимался программированием ядра и драйверов, участвовал в коммерческих и свободных проектах, занимался преподавательской деятельностью.
Повествование в книге ведётся на основе Ubuntu 18.04 LTS и ядра версии 5.4.
( читать дальше... )
>>> Том 1 на Amazon
>>> Том 2 на Amazon
Несмотря на то, что в ядро SquashFS была включена лишь в 2009 году, работа над ней началась гораздо раньше. В честь двадцатилетнего юбилея с начала разработки, Phillip Lougher объявил новый релиз SquashFS-Tools.
Из нововведений:
mksquashfs. Например, добавить в архив без сжатия.
sqfstar для преобразования Tar–архива в SquashFS.
mksquashfs.
sqfscat, выводящая содержимое отдельных файлов из архива.
Линус Торвальдс анонсировал новую версию ядра Linux 5.13, отдельно подчеркнув, что это самый большой релиз по количеству проделанной работы!
После седьмого релиз-кандидата у нас была довольно спокойная неделя, и я не вижу причин откладывать релиз версии 5.13. Изменений за последнюю неделю мало, всего 88 коммитов не считая слияний (и некоторые из них просто откаты). Это не особо важные исправления и поскольку их мало, я предлагаю людям просто просмотреть прилагаемый список изменений, чтобы узнать, что произошло. В целом в 5.13 очень много изменений. Фактически, это один из самых крупных релизов 5.х с более чем 16 тысячами коммитов (более 17 тысяч, если считать слияния) от более чем 2 тысяч разработчиков. Однако, все эти изменения затронули всё и понемногу, поэтому трудно выделить что-то одно…
( читать дальше... )
>>> Подробности (kernelnewbies.org)
Исследователи из университета Миннесоты — Цюши У и Канцзе Лу в рамках исследования «небезопасности» OSS модели пытались выяснить, насколько вероятно намеренное добавление уязвимостей в проекты. Среди прочего патчи были отправлены в ядро Linux.
В результате код ревью прошли 4 патча, в том числе 3 содержащих уязвимости. Представители проекта Linux обратились с жалобой на исследование к администрации университета, однако не нашли поддержки. Потому было принято решение больше никогда не принимать патчи от людей из этого заведения.
( читать дальше... )
>>> Ссылка на исследование (github.com)
Поживем - увидим
Мне интересен проект внедрения Rust в ядро. Но я считаю, что авторы этого проекта предвзяты по отношению к Rust, и хотелось бы сначала посмотреть, как это обернется на практике.
Лично Торвальдс не продавливает Rust в ядро, но он «готов оценить обещанные преимущества и возможность избегания граблей, связанных с безопасностью», но также понимает, что «иногда обещанное не исполняется».
Торвальдс полагает, что первоначальной областью применения Rust в ядре могут быть драйверы, поскольку их написание представляет собой множество небольших и независимых задач. «Может, это не самое интересное применение, но оно самое очевидное». Он добавил, что поскольку многие устройства предназначены не для всех процессорных архитектур, недостаток их поддержки в Rust – не такая большая проблема.
>>> Источник (zdnet.com)
Состоялся релиз новой версии ядра.
Из нового:
Реализована поддержка APU Ryzen 5000 серии, а также начальная поддержка Navi 2 и видеокарт Nvidia на архитектуре Ampere.
Добавлено несколько новых опций монтирования для XFS (kernel.org) и Btrfs. Также был проведён ряд оптимизаций для последней ФС.
Новый механизм перехвата системных вызовов, основанный на prctl().
Архитектура IA-64 переведена в разряд «orphanned» («без поддержки»).
Добавлена поддержка первого USB4-контроллера Intel Maple Ridge.
И многое другое.
>>> Новость в рассылке (lkml.org)
Тихо и незаметно состоялся релиз ядра версии 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)
| ← предыдущие | следующие → |