Отчёт о развитии FreeBSD за третий квартал 2019 года
28 ноября 2019 года
Опубликован отчёт о развитии проекта FreeBSD с июля по сентябрь 2019 года. Из изменений можно отметить:
- Общие и системные вопросы
- Core team в общем виде одобрил возможность включения в систему кода, поставляемого под лицензией BSD с дополнительным соглашением об использовании патентов ( BSD+Patent), но решение по включению в систему каждого компонента под данной лицензией должно утверждаться отдельно. В BSD+Patent лицензия BSD дополнена дополнительным соглашением, определяющим предоставление доступа к технологиям, пересекающимися с зарегистрированными патентами и минимизирующим риски от патентных исков (лицензия отзывается в случае патентного иска). По мнению Фонда Apache данное соглашение главным образом отстаивает интересы производителя и приводит к несбалансированному перекладыванию рисков на потребителей продуктов.
- Состоялось первое заседание рабочей группы, созданной для проведения миграции исходных текстов из централизованной системы управления исходными текстами Subversion в децентрализованную систему Git. Дискуссия по целесообразности миграции пока продолжается, и по многим вопросам ещё предстоит выработать решения (например, как поступить с contrib/, нужно ли перегенерировать хэши в текущем git-репозитории и как наилучшим образом реализовать тестирование коммитов);
- Из NetBSD портирован инструментарий KCSAN (Kernel Concurrency Sanitizer), позволяющий выявлять возникновение состояний гонки между потоками ядра, выполняемыми на разных CPU;
- Ведётся работа по использованию встроенного в Clang ассемблера (IAS) вместо ассемблера из GNU binutils;
- Инфраструктура эмуляции окружения Linux (Linuxulator) адаптирована для работы на архитектуре ARM64. Реализован системный вызов "renameat2 ". Утилита strace доработана для диагностики проблем в исполняемых файлах Linux, запускаемых в Linuxulator. Решена проблема с возникновением сбоев при связывании исполняемых файлов с новыми выпусками glibc. Порты с Linux-компонентами для Linuxulator обновлены до CentOS 7.7;
- В рамках программы Google Summer of Code студентами успешно выполнено шесть проектов: подготовлена реализация унифицированной (IPv4/IPv6) утилиты ping, разработаны инструментарии для тестирования межсетевых экранов и выявления ошибок в ядре (Kernel sanitizer), предложен модуль mac_ipacl, написан код для сжатия виртуальной памяти и выполнена работа по отделению процесса сборки портов от локальной установки;
- Продолжает развиваться проект по fuzzing-тестированию ядра FreeBSD с использованием системы syzkaller. За отчётный период при помощи syzkaller выявлено и устранено более десяти ошибок. Для запуска syzkaller в виртуальных машинах на базе bhyve выделен отдельный сервер, а при помощи
syzbot налажена проверка различных подсистем FreeBSD в инфраструктуре Google. Организована передача информации о всех крахах в сервис backtrace.io для упрощения их группировки и анализа;
- Ведётся работа по обновлению реализации zlib на уровне ядра.
Связанный со сжатием код переведён с zlib 1.0.4, выпущенного более 20 лет назад, на актуальную кодовую базу zlib 1.2.11. Для унификации доступа к zlib в ядро добавлены функции compress, compress2 и uncompress. Обеспечивающий работу протокола PPP код из подсистемы netgraph переведён на использование системной реализации zlib, вместо собственной редакции данной библиотеки. На новый zlib также переведены подсистемы kern_ctf.c, opencryptodeflate, geom_uzip, subr_compressor, if_mxge, bxe updated и ng_deflate;
- Развивается новый интерфейс ядра sysctlinfo, позволяющий находить элементы в базе параметров sysctl, обрабатываемой в форме MIB (Management Information Base), и передавать информации об объектах в пространство пользователя.
- Безопасность
- Разработан модуль ядра
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.