LINUX.ORG.RU

Новости «Ядро Linux»

Активные теги:

 ,

: В Linux 5.15 добавлен системный вызов для быстрого освобождения памяти умирающего процесса (44 комментария)
: Линус Торвальдс сказал «нет» коду с предупреждениями компиляции (178 комментариев)
: Линус Торвальдс одобрил добавление драйвера NTFSv3 в ядро (247 комментариев)

Новая книга «Linux Kernel Programming»

Группа Ядро Linux

Много воды утекло с момента выхода LDD3 (LDD4 мы, видимо, уже не дождёмся), безнадёжно устарел фундаментальный труд Бовета и Чезати, Роберт Лав давно не радовал нас своими прекрасными творениями. Казалось бы, в мире литературы о программировании ядра Linux наметилась устойчивая стагнация…

Но нет! Ситуацию спасает замечательный индийский программист со звучным именем Кайван Биллимория. Он написал книгу о программировании ядра, аж в двух томах.

Об авторе

Кайван программирует с 1983 года. В то время он самостоятельно научился программировать на бейсике, затем освоил Си и ассемблер под MS-DOS, а потом открыл для себя мир UNIX и Linux. Занимался программированием ядра и драйверов, участвовал в коммерческих и свободных проектах, занимался преподавательской деятельностью.

Повествование в книге ведётся на основе Ubuntu 18.04 LTS и ядра версии 5.4.

( читать дальше... )

>>> Том 1 на Amazon

>>> Том 2 на Amazon

 , , ,

x-signal
()

SquashFS Tools 4.5 — 20 лет с начала разработки SquashFS

Группа Ядро Linux

Несмотря на то, что в ядро SquashFS была включена лишь в 2009 году, работа над ней началась гораздо раньше. В честь двадцатилетнего юбилея с начала разработки, Phillip Lougher объявил новый релиз SquashFS-Tools.

Из нововведений:

  • Возможность определить «действия» по шаблону для отдельных файлов в mksquashfs. Например, добавить в архив без сжатия.
  • Команда sqfstar для преобразования Tar–архива в SquashFS.
  • Возможность ограничить загрузку процессора и дисковой подсистемы при работе mksquashfs.
  • Возможность задавать дату для псевдо–файлов, имитация ссылок, сокетов и потоков ввода–вывода.
  • Команда sqfscat, выводящая содержимое отдельных файлов из архива.
  • Поддержка символьных ссылок при распаковке SquashFS, возможность ограничить глубину обхода или исключить файлы по шаблону.
  • И множество других улучшений и исправлений.

Сообщение в LKML

Релиз на GitHub

 , , ,

Quote
()

Linux 5.13

Linux 5.13
Группа Ядро Linux

Линус Торвальдс анонсировал новую версию ядра 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.

( читать дальше... )

>>> Подробности

 , , ,

claire
()

Исследователям удалось добавить в ядро Linux уязвимый код

Группа Ядро Linux

Исследователи из университета Миннесоты — Цюши У и Канцзе Лу в рамках исследования «небезопасности» OSS модели пытались выяснить, насколько вероятно намеренное добавление уязвимостей в проекты. Среди прочего патчи были отправлены в ядро Linux.

В результате код ревью прошли 4 патча, в том числе 3 содержащих уязвимости. Представители проекта Linux обратились с жалобой на исследование к администрации университета, однако не нашли поддержки. Потому было принято решение больше никогда не принимать патчи от людей из этого заведения.

( читать дальше... )

>>> Ссылка на исследование

 ,

anonymous
()

Линус высказал своё мнение о Rust в ядре

Группа Ядро Linux

Поживем - увидим

Мне интересен проект внедрения Rust в ядро. Но я считаю, что авторы этого проекта предвзяты по отношению к Rust, и хотелось бы сначала посмотреть, как это обернется на практике.

Лично Торвальдс не продавливает Rust в ядро, но он «готов оценить обещанные преимущества и возможность избегания граблей, связанных с безопасностью», но также понимает, что «иногда обещанное не исполняется».

Торвальдс полагает, что первоначальной областью применения Rust в ядре могут быть драйверы, поскольку их написание представляет собой множество небольших и независимых задач. «Может, это не самое интересное применение, но оно самое очевидное». Он добавил, что поскольку многие устройства предназначены не для всех процессорных архитектур, недостаток их поддержки в Rust – не такая большая проблема.

>>> Источник

 , ,

anonymous
()
: В linux-next добавлена возможность писать драйверы на Rust (199 комментариев)

Linux 5.11

Группа Ядро Linux

Состоялся релиз новой версии ядра.

Из нового:

И многое другое.

>>> Новость в рассылке

 ,

Korchevatel
()
: Разработчики ядра собираются обсудить прекращение поддержки старых процессоров (282 комментария)
: В ядре версии 5.10 обнаружена регрессия производительности BtrFS (92 комментария)

Linux 5.10

Группа Ядро Linux

Тихо и незаметно состоялся релиз ядра версии 5.10. По признанию самого Торвальдса, ядро «состоит из по большей части новых драйверов с вкраплениями из патчей», что неудивительно, ибо ядро получило статус LTS.

Из нового:

  • Поддержка fast_commit в файловой системе Ext4. Теперь приложения будут писать в кэш меньше метаданных, что ускорит запись! Правда, её надо явно включить при создании ФС.

  • Дополнительные настройки доступа через интерфейс io_uring, которые позволяют безопасно давать доступ к ресурсам колец дочерним приложениям.

  • Введён системный вызов process_madvise, позволяющий давать ядру информацию об ожидаемом поведении целевого приложения. Аналогичная система, кстати, используется в Android (демон ActivityManagerService).

  • Исправлена проблема 2038 года для файловой системы XFS.

и многое другое.

Также стоит отметить, что тут же была выпущена версия 5.10.1, отменяющая два изменения, приводившие к проблемам в подсистемах md и dm raid. Так что да, 0-day-патчи бывают даже для ядра Linux.

Подробнее:

>>> Скачать tarball

 ,

Korchevatel
()
: Доработка ядра Linux для поддержки современных Windows игр (310 комментариев)
: Компания NVidia сообщила о задержке поставки драйверов для Linux 5.9 (377 комментариев)

Вышло ядро версии Linux 5.9 добавлена поддержка FSGSBASE и Radeon RX 6000 «RDNA 2»

Группа Ядро Linux

Линус Торвальдс объявил о стабилизации версии 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.

>>> Подробности

 ,

Shaman007
()
: Из ядра Linux удалили прокрутку в консоли (237 комментариев)
: Paragon Software предложила свою реализацию NTFS в upstream Linux (100 комментариев)

Ядро Linux 5.6

Группа Ядро Linux

Основные изменения:

  • Поддержка Intel MPX (memory protection extenstion) удалена из ядра.
  • RISC-V получила поддержку KASAN.
  • Завершён перевод ядра с 32-битного типа time_t и ассоциированых с ним типов: ядро готово к проблеме-2038.
  • Добавлены операции для подсистемы io_uring.
  • Добавлен системный вызов pidfd_getfd(), который позволяет процессу извлечь дескриптор открытого файла из другого процесса.
  • Добавлен механизм bootconfig, позволяющий ядру во время загрузки получать файл с опциями командной строки. Утилита bootconfig позволяет добавить такой файл к образу initramfs.
  • F2FS стала поддерживать сжатие ФС.
  • Новая опция монтирования NFS softreveal предоставляет ревалидацию атрибутов.
  • Монтирование NFS по UDP по умолчанию отключено.
  • Добавлена поддержка копирования файлов с сервера на сервер в NFS v4.2
  • Добавлена поддержка ZoneFS.
  • Добавлена новая операция prctl() PR_SET_IO_FLUSHER. Она предназначена для обозначения процесса, который занят высвобождением памяти и к которому нельзя применять ограничения.
  • Добавлена подсистема dma-buf, ответвление от аллокатора Android ION.
  • Блокирующий пул /dev/random был удалён, теперь /dev/random поведением более похож на /dev/urandom тем, что не блокирует доступную энтропию после инициализации пула.
  • Гостевые Linux-системы в VirtualBox могут монтировать папки, экспортированные хост-системой.

>>> Подробности

 ,

gedisdone
()

Wireguard включен в ядро Linux

Группа Ядро Linux

Wireguard – это простой и безопасный VPN-протокол, основным разработчиком которого является Jason A. Donenfeld. Долгое время модуль ядра, реализующий этот протокол, не принимали в основную ветку ядра Linux, так как использовалась своя реализация криптографических примитивов (Zinc) вместо стандартного crypto API. Недавно это препятствие было устранено, в том числе за счет доработок, принятых в crypto API.

Сейчас wireguard принят в основную ветку ядра Linux и будет доступен в релизе 5.6.

Wireguard выгодно отличается от других протоколов VPN отсутствием необходимости согласовывать используемые криптографические алгоритмы, радикальным упрощением процесса обмена ключами, и, как следствие, малым размером кодовой базы.

>>> Подробности

 ,

AEP
()