Много воды утекло с момента выхода 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 тысяч разработчиков. Однако, все эти изменения затронули всё и понемногу, поэтому трудно выделить что-то одно…
( читать дальше... )
>>> Подробности
Исследователи из университета Миннесоты — Цюши У и Канцзе Лу в рамках исследования «небезопасности» OSS модели пытались выяснить, насколько вероятно намеренное добавление уязвимостей в проекты. Среди прочего патчи были отправлены в ядро Linux.
В результате код ревью прошли 4 патча, в том числе 3 содержащих уязвимости. Представители проекта Linux обратились с жалобой на исследование к администрации университета, однако не нашли поддержки. Потому было принято решение больше никогда не принимать патчи от людей из этого заведения.
( читать дальше... )
Поживем - увидим
Мне интересен проект внедрения Rust в ядро. Но я считаю, что авторы этого проекта предвзяты по отношению к Rust, и хотелось бы сначала посмотреть, как это обернется на практике.
Лично Торвальдс не продавливает Rust в ядро, но он «готов оценить обещанные преимущества и возможность избегания граблей, связанных с безопасностью», но также понимает, что «иногда обещанное не исполняется».
Торвальдс полагает, что первоначальной областью применения Rust в ядре могут быть драйверы, поскольку их написание представляет собой множество небольших и независимых задач. «Может, это не самое интересное применение, но оно самое очевидное». Он добавил, что поскольку многие устройства предназначены не для всех процессорных архитектур, недостаток их поддержки в Rust – не такая большая проблема.
>>> Источник
Состоялся релиз новой версии ядра.
Из нового:
Реализована поддержка APU Ryzen 5000 серии, а также начальная поддержка Navi 2 и видеокарт Nvidia на архитектуре Ampere.
Добавлено несколько новых опций монтирования для XFS и Btrfs. Также был проведён ряд оптимизаций для последней ФС.
Новый механизм перехвата системных вызовов, основанный на prctl().
Архитектура IA-64 переведена в разряд «orphanned» («без поддержки»).
Добавлена поддержка первого USB4-контроллера Intel Maple Ridge.
И многое другое.
Тихо и незаметно состоялся релиз ядра версии 5.10. По признанию самого Торвальдса, ядро «состоит из по большей части новых драйверов с вкраплениями из патчей», что неудивительно, ибо ядро получило статус LTS.
Из нового:
Поддержка fast_commit в файловой системе Ext4. Теперь приложения будут писать в кэш меньше метаданных, что ускорит запись! Правда, её надо явно включить при создании ФС.
Дополнительные настройки доступа через интерфейс io_uring, которые позволяют безопасно давать доступ к ресурсам колец дочерним приложениям.
Введён системный вызов process_madvise, позволяющий давать ядру информацию об ожидаемом поведении целевого приложения. Аналогичная система, кстати, используется в Android (демон ActivityManagerService).
Исправлена проблема 2038 года для файловой системы XFS.
и многое другое.
Также стоит отметить, что тут же была выпущена версия 5.10.1, отменяющая два изменения, приводившие к проблемам в подсистемах md и dm raid. Так что да, 0-day-патчи бывают даже для ядра Linux.
Подробнее:
>>> Скачать tarball
Линус Торвальдс объявил о стабилизации версии 5.9.
В числе прочих изменений он внес в ядро версии 5.9 поддержку FSGSBASE, которая должна улучшить производительность переключения контекста на процессорах AMD и Intel. FSGSBASE позволяет читать и изменять содержимое регистров FS/GS из пространства пользователя, что должно улучшить общую производительность, пострадавшую после закрытия уязвимостей Spectre/Metldown. Сама поддержка была добавлена инженерами Microsoft несколько лет назад.
Так же:
>>> Подробности
Основные изменения:
softreveal
предоставляет ревалидацию атрибутов.
PR_SET_IO_FLUSHER
. Она предназначена для обозначения процесса, который занят высвобождением памяти и к которому нельзя применять ограничения.
>>> Подробности
Wireguard – это простой и безопасный VPN-протокол, основным разработчиком которого является Jason A. Donenfeld. Долгое время модуль ядра, реализующий этот протокол, не принимали в основную ветку ядра Linux, так как использовалась своя реализация криптографических примитивов (Zinc) вместо стандартного crypto API. Недавно это препятствие было устранено, в том числе за счет доработок, принятых в crypto API.
Сейчас wireguard принят в основную ветку ядра Linux и будет доступен в релизе 5.6.
Wireguard выгодно отличается от других протоколов VPN отсутствием необходимости согласовывать используемые криптографические алгоритмы, радикальным упрощением процесса обмена ключами, и, как следствие, малым размером кодовой базы.
>>> Подробности
← предыдущие | следующие → |