Upstream update available: libbpf 1.6.2 → 1.7.0 #1

Open
opened 2026-04-28 01:22:39 +03:00 by sbelikov · 0 comments
Owner

Upstream update available: libbpf 1.6.21.7.0

Package

  • Package: libbpf
  • RPM name: libbpf
  • Branch: niceos-5.2
  • Current EVR: 2:1.6.2-1
  • Update class: minor
  • Compare method: python_rpm
  • Update policy: leaf
  • Risk tags: github-upstream

Upstream

Signals

  • Security-relevant keywords detected: False
  • Policy blocked: False
  • Policy reason: -
  • Labels: ai-summary, bot, needs-build, needs-triage, priority/medium, update/minor, upstream-update, upstream/github

NiceSOFT AI preliminary analysis

1. Краткий вывод

Upstream libbpf обновился с версии 1.6.2 до 1.7.0, добавив новые API для работы с картами, оптимизации поиска BTF и поддержку новых флагов LLVM. Обновление классифицировано как minor, однако содержит значительные изменения в сигнатурах хелперов (dynptr) и логике работы с памятью.

2. Риск для НАЙС.ОС

medium. Хотя обновление помечено как minor, расширение параметров хелперов bpf_dynptr_* с 32-битных на 64-битные может нарушить совместимость с пользовательским пространством, если приложения используют эти функции напрямую или через динамические библиотеки. Также добавлены новые API, требующие проверки поддержки ядром.

3. Security/CVE

Во входных данных отсутствуют явные указания на уязвимости безопасности (security_keywords_detected_by_script: False), а также не указаны конкретные CVE. Упоминание "bug fixes" является общим и не подтверждает наличие критических исправлений безопасности без анализа коммит-лога.

4. ABI/API риск

Высокий риск изменения ABI. Расширение параметров функций bpf_dynptr_from_mem, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data с 32-битных на 64-битные изменяет размер аргументов в вызовах. Это требует обязательного ручного анализа ABI для всех зависимых пакетов, использующих эти символы, чтобы исключить рассинхронизацию структур данных в памяти.

5. Риск для RPM-сборки

Возможны проблемы в секции %check при тестировании новых API, если тесты не охватывают новые фичи (например, fsession или BPF_F_CPU). Необходимо проверить наличие BuildRequires на заголовочные файлы новых версий, если они изменили имена или расположение. Патчи, применяемые к исходному коду, могут потребовать обновления, так как номера строк или имена файлов могли измениться из-за рефакторинга.

6. Проверки мейнтейнера

  • Провести анализ ABI для всех пакетов, зависящих от libbpf, особенно тех, которые экспортируют символы bpf_dynptr_*.
  • Проверить, поддерживается ли новая функциональность (например, fsession) целевыми ядрами дистрибутива.
  • Запустить %check и убедиться, что новые тесты проходят успешно.
  • Проверить отсутствие конфликтов с локальными патчами в ветке libbpf.
  • Убедиться, что новые зависимости (если есть) корректно прописаны в BuildRequires.

7. Рекомендация

issue-only

8. Основание рекомендации

Наличие изменений в сигнатурах хелперов (ABI break) и отсутствие подтвержденных данных о безопасности требует ручного анализа совместимости перед автоматическим обновлением. Автоматическое применение обновления может привести к неработоспособности приложений, использующих расширенные параметры dynptr.

Upstream release notes / description

User space-side features

  • bpf_map__set_exclusive_program() and bpf_map__exclusive_program() APIs for exclusive map creation;
  • bpf_program__assoc_struct_ops() and bpf_prog_assoc_struct_ops() APIs to associate a non-struct_ops BPF program with a struct_ops map;
  • btf__permute() API to rearrange BTF types in-place according to a provided mapping;
  • BTF type lookup optimization: binary search for btf__find_by_name() and btf__find_by_name_kind();
  • btf__add_btf() now accepts split BTF sources;
  • fsession support (SEC("fsession+") / SEC("fsession.s+"));
  • BPF_F_CPU and BPF_F_ALL_CPUS flags support for per-CPU map operations;
  • arena globals are moved to the end of the arena mmap region if kernel supports it;
  • support for LLVM-generated indirect jump tables (BPF ISA v4) via .jumptables ELF section and BPF_MAP_TYPE_INSN_ARRAY maps;
  • avoid expensive kallsyms parsing when kprobe.session target is an exact function match;
  • new dont_enable option in struct bpf_perf_event_opts to suppress perf event auto-enablement;

BPF-side features

  • USDT SIB (Scale-Index-Base) addressing support;
  • dynptr helper signatures (bpf_dynptr_from_mem, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data) widened from 32-bit to 64-bit size/offset parameters;

Bug fixes

As usual, a number of bug fixes included, see full commit log for details.

Full Changelog: https://github.com/libbpf/libbpf/compare/v1.6.0...v1.7.0

NiceOS maintainer checklist

  • Confirm that the detected version is a stable upstream release.
  • Check upstream changelog for security fixes, ABI/API changes and build-system changes.
  • Check ABI/API compatibility and reverse dependencies.
  • Download source into NiceOS lookaside storage.
  • Update Version and related fields in SPECS/*.spec only if policy allows it.
  • Regenerate SOURCES/sources.lock.json, manifests, metadata and SBOM.
  • Build SRPM/RPM in a clean NiceOS buildroot.
  • Run package smoke tests.
  • Link PR/build logs and close this issue after update or triage.

Bot metadata

  • Tool: niceos_upstream_monitor.py 1.4
  • Generated at: 2026-04-28T15:41:30Z
<!-- niceos-upstream-monitor:fingerprint=upstream-update:libbpf:1.7.0 --> <!-- niceos-upstream-monitor:package=libbpf --> <!-- niceos-upstream-monitor:current=1.6.2 --> <!-- niceos-upstream-monitor:latest=1.7.0 --> # Upstream update available: `libbpf` `1.6.2` → `1.7.0` ## Package - Package: `libbpf` - RPM name: `libbpf` - Branch: `niceos-5.2` - Current EVR: `2:1.6.2-1` - Update class: `minor` - Compare method: `python_rpm` - Update policy: `leaf` - Risk tags: `github-upstream` ## Upstream - Upstream type: `github` - Upstream project: `libbpf/libbpf` - Upstream URL: https://github.com/libbpf/libbpf - Detected version: `1.7.0` - Tag/release: `v1.7.0` - Source: `github_release_latest` - Published: `2026-03-16T15:48:21Z` - Release URL: https://github.com/libbpf/libbpf/releases/tag/v1.7.0 - Source URL: https://api.github.com/repos/libbpf/libbpf/tarball/v1.7.0 - Pre-release: `False` ## Signals - Security-relevant keywords detected: `False` - Policy blocked: `False` - Policy reason: `-` - Labels: `ai-summary, bot, needs-build, needs-triage, priority/medium, update/minor, upstream-update, upstream/github` ## NiceSOFT AI preliminary analysis ### 1. Краткий вывод Upstream libbpf обновился с версии 1.6.2 до 1.7.0, добавив новые API для работы с картами, оптимизации поиска BTF и поддержку новых флагов LLVM. Обновление классифицировано как minor, однако содержит значительные изменения в сигнатурах хелперов (dynptr) и логике работы с памятью. ### 2. Риск для НАЙС.ОС medium. Хотя обновление помечено как minor, расширение параметров хелперов `bpf_dynptr_*` с 32-битных на 64-битные может нарушить совместимость с пользовательским пространством, если приложения используют эти функции напрямую или через динамические библиотеки. Также добавлены новые API, требующие проверки поддержки ядром. ### 3. Security/CVE Во входных данных отсутствуют явные указания на уязвимости безопасности (security_keywords_detected_by_script: False), а также не указаны конкретные CVE. Упоминание "bug fixes" является общим и не подтверждает наличие критических исправлений безопасности без анализа коммит-лога. ### 4. ABI/API риск Высокий риск изменения ABI. Расширение параметров функций `bpf_dynptr_from_mem`, `bpf_dynptr_read`, `bpf_dynptr_write`, `bpf_dynptr_data` с 32-битных на 64-битные изменяет размер аргументов в вызовах. Это требует обязательного ручного анализа ABI для всех зависимых пакетов, использующих эти символы, чтобы исключить рассинхронизацию структур данных в памяти. ### 5. Риск для RPM-сборки Возможны проблемы в секции `%check` при тестировании новых API, если тесты не охватывают новые фичи (например, `fsession` или `BPF_F_CPU`). Необходимо проверить наличие `BuildRequires` на заголовочные файлы новых версий, если они изменили имена или расположение. Патчи, применяемые к исходному коду, могут потребовать обновления, так как номера строк или имена файлов могли измениться из-за рефакторинга. ### 6. Проверки мейнтейнера - [ ] Провести анализ ABI для всех пакетов, зависящих от `libbpf`, особенно тех, которые экспортируют символы `bpf_dynptr_*`. - [ ] Проверить, поддерживается ли новая функциональность (например, `fsession`) целевыми ядрами дистрибутива. - [ ] Запустить `%check` и убедиться, что новые тесты проходят успешно. - [ ] Проверить отсутствие конфликтов с локальными патчами в ветке `libbpf`. - [ ] Убедиться, что новые зависимости (если есть) корректно прописаны в `BuildRequires`. ### 7. Рекомендация issue-only ### 8. Основание рекомендации Наличие изменений в сигнатурах хелперов (ABI break) и отсутствие подтвержденных данных о безопасности требует ручного анализа совместимости перед автоматическим обновлением. Автоматическое применение обновления может привести к неработоспособности приложений, использующих расширенные параметры `dynptr`. ## Upstream release notes / description ## User space-side features - `bpf_map__set_exclusive_program()` and `bpf_map__exclusive_program()` APIs for exclusive map creation; - `bpf_program__assoc_struct_ops()` and `bpf_prog_assoc_struct_ops()` APIs to associate a non-struct_ops BPF program with a struct_ops map; - `btf__permute()` API to rearrange BTF types in-place according to a provided mapping; - BTF type lookup optimization: binary search for `btf__find_by_name()` and `btf__find_by_name_kind()`; - `btf__add_btf()` now accepts split BTF sources; - fsession support (`SEC("fsession+")` / `SEC("fsession.s+")`); - `BPF_F_CPU` and `BPF_F_ALL_CPUS` flags support for per-CPU map operations; - arena globals are moved to the end of the arena mmap region if kernel supports it; - support for LLVM-generated indirect jump tables (BPF ISA v4) via `.jumptables` ELF section and `BPF_MAP_TYPE_INSN_ARRAY` maps; - avoid expensive kallsyms parsing when kprobe.session target is an exact function match; - new `dont_enable` option in `struct bpf_perf_event_opts` to suppress perf event auto-enablement; ## BPF-side features - USDT SIB (Scale-Index-Base) addressing support; - dynptr helper signatures (`bpf_dynptr_from_mem`, `bpf_dynptr_read`, `bpf_dynptr_write`, `bpf_dynptr_data`) widened from 32-bit to 64-bit size/offset parameters; ## Bug fixes As usual, a number of bug fixes included, see full commit log for details. **Full Changelog**: https://github.com/libbpf/libbpf/compare/v1.6.0...v1.7.0 ## NiceOS maintainer checklist - [ ] Confirm that the detected version is a stable upstream release. - [ ] Check upstream changelog for security fixes, ABI/API changes and build-system changes. - [ ] Check ABI/API compatibility and reverse dependencies. - [ ] Download source into NiceOS lookaside storage. - [ ] Update `Version` and related fields in `SPECS/*.spec` only if policy allows it. - [ ] Regenerate `SOURCES/sources.lock.json`, manifests, metadata and SBOM. - [ ] Build SRPM/RPM in a clean NiceOS buildroot. - [ ] Run package smoke tests. - [ ] Link PR/build logs and close this issue after update or triage. ## Bot metadata - Tool: `niceos_upstream_monitor.py 1.4` - Generated at: `2026-04-28T15:41:30Z`
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
rpms/libbpf#1
No description provided.