Upstream update available: ndctl 82 → 84 #1

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

Upstream update available: ndctl 8284

Package

  • Package: ndctl
  • RPM name: ndctl
  • Branch: niceos-5.2
  • Current EVR: 82-1
  • Update class: major
  • Compare method: python_rpm
  • Update policy: leaf
  • Risk tags: github-upstream, system-integration

Upstream

Signals

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

NiceSOFT AI preliminary analysis

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

Обновление пакета ndctl с версии 82 до 84 является мажорным и включает значительные изменения функциональности, связанные с поддержкой CXL (Extended Linear Cache, инъекция ошибок). Обновление добавляет новые команды CLI, системные вызовы API и тесты, но не содержит явных указаний на исправления уязвимостей безопасности.

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

medium.
Обновление относится к категории major и затрагивает систему интеграции (system-integration). Добавление новых API и изменение поведения команд cxl-* может повлиять на существующие скрипты или сервисы, зависящие от конкретных версий интерфейсов. Отсутствие явных security-тегов снижает критичность, но масштаб изменений требует проверки совместимости.

3. Security/CVE

Во входных данных отсутствуют признаки security-уязвимостей или CVE. Поле security_keywords_detected_by_script равно False, а в тексте релизов упоминаются только улучшения функциональности, тестирования и инфраструктуры.

4. ABI/API риск

Высокий риск изменений ABI/API. В релиз-нотах явно перечислены новые функции API (например, cxl_region_get_extended_linear_cache_size, cxl_protocol_error_get_first и др.) и новые команды CLI. Для библиоток, использующих ndctl.so, это может потребовать пересборки зависимых приложений или обновления заголовков. Необходим ручной анализ влияния новых символов на связывание.

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

Возможны проблемы со сборкой, если:

  • В системе отсутствуют ядра с поддержкой CXL 7.0, требуемые для компиляции новых функций (риск ошибки линковки или выполнения).
  • Изменения в util/sysfs (правильная обработка errno, проверка прав root) могут повлиять на поведение при выполнении тестов %check или работе пакета на системах без соответствующих прав доступа.
  • Зависимость от специфических драйверов CXL может привести к ошибкам времени выполнения, если они не установлены.

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

  • Проверить наличие в системе ядра с поддержкой CXL 7.0 (или убедиться, что новые функции опциональны/не вызываются при их отсутствии).
  • Провести сравнение списков символов (symbols) между версиями 82 и 84 для оценки роста ABI.
  • Запустить %check в CI/CD окружении, эмулирующем отсутствие root-прав, чтобы проверить работу улучшений обработки ошибок в util/sysfs.
  • Убедиться, что новые зависимости (если есть скрытые через BuildRequires) удовлетворяются.
  • Проверить документацию пакета на предмет обновлений по новым командам cxl-inject-* и cxl-list.

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

update candidate

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

Несмотря на статус major, обновление классифицируется как leaf (конечный пакет), что обычно подразумевает меньшее влияние на экосистему по сравнению с обновлениями базовых библиотек. Отсутствуют блокирующие политики (policy_blocked: False) и признаки критических уязвимостей. Новые функции направлены на расширение возможностей диагностики и тестирования, а не на изменение фундаментальной логики работы памяти, что делает обновление приемлемым для ручного рассмотрения и последующего включения в候选 список обновлений после прохождения проверок совместимости.

Upstream release notes / description

This release incorporates functionality up through the 7.0 kernel.

Highlights include new cxl-cli commands for media and protocol error injection, visibility of Extended Linear Cache (ELC) in cxl-list along with a new ELC unit test, and a unit test for address translation. It also includes additional unit test and infrastructure improvements that improve test coverage and overall quality.

Commands:
  cxl-inject-protocol-error: new command
  cxl-inject-media-poison: new command
  cxl-list: add extended linear cache info
  cxl-list: add injection info

APIs:
  cxl_region_get_extended_linear_cache_size;
  cxl_protocol_error_get_first;
  cxl_protocol_error_get_next;
  cxl_protocol_error_get_num;
  cxl_protocol_error_get_str;
  cxl_dport_get_einj_path;
  cxl_dport_protocol_error_inject;
  cxl_memdev_has_poison_support;
  cxl_memdev_inject_poison;
  cxl_memdev_clear_poison;
  cxl_debugfs_exists;

Tests:
  test/cxl-poison.sh: add test case for unaligned address translations
  test/cxl-elc.sh: add a new test for extended linear cache support
  test/cxl-poison.sh: detect the correct elc sysfs attribute
  test/cxl-poison.sh: replace sysfs usage with cxl-cli cmds
  test/cxl-translate.sh: add new cxl-translate.sh unit test
  test/cxl-topology.sh: test switch port target enumeration
  test/pmem-ns: fully reset nfit_test in pmem-ns unit test
  test/cxl-poison.sh: add support for ELC in poison test
  test/cxl-poison.sh: use the cxl_test auto region

Infrastructure:
  util/sysfs: add hint for missing root privileges on sysfs access
  util/sysfs: save and use errno properly in read and write paths
  README.md: exclude unsupported distros from Repology badge
  daxctl: replace basename() usage with new path_basename()
  ndctl: add key cleanup after overwrite operation

Documentation:
  documentation: add docs for protocol and poison injection commands

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-28T23:35:42Z
<!-- niceos-upstream-monitor:fingerprint=upstream-update:ndctl:84 --> <!-- niceos-upstream-monitor:package=ndctl --> <!-- niceos-upstream-monitor:current=82 --> <!-- niceos-upstream-monitor:latest=84 --> # Upstream update available: `ndctl` `82` → `84` ## Package - Package: `ndctl` - RPM name: `ndctl` - Branch: `niceos-5.2` - Current EVR: `82-1` - Update class: `major` - Compare method: `python_rpm` - Update policy: `leaf` - Risk tags: `github-upstream, system-integration` ## Upstream - Upstream type: `github` - Upstream project: `pmem/ndctl` - Upstream URL: https://github.com/pmem/ndctl - Detected version: `84` - Tag/release: `v84` - Source: `github_release_latest` - Published: `2026-03-15T01:23:21Z` - Release URL: https://github.com/pmem/ndctl/releases/tag/v84 - Source URL: https://api.github.com/repos/pmem/ndctl/tarball/v84 - Pre-release: `False` ## Signals - Security-relevant keywords detected: `False` - Policy blocked: `False` - Policy reason: `-` - Labels: `ai-summary, bot, needs-build, needs-triage, priority/high, update/major, upstream-update, upstream/github` ## NiceSOFT AI preliminary analysis ### 1. Краткий вывод Обновление пакета `ndctl` с версии 82 до 84 является мажорным и включает значительные изменения функциональности, связанные с поддержкой CXL (Extended Linear Cache, инъекция ошибок). Обновление добавляет новые команды CLI, системные вызовы API и тесты, но не содержит явных указаний на исправления уязвимостей безопасности. ### 2. Риск для НАЙС.ОС **medium**. Обновление относится к категории `major` и затрагивает систему интеграции (`system-integration`). Добавление новых API и изменение поведения команд `cxl-*` может повлиять на существующие скрипты или сервисы, зависящие от конкретных версий интерфейсов. Отсутствие явных security-тегов снижает критичность, но масштаб изменений требует проверки совместимости. ### 3. Security/CVE Во входных данных отсутствуют признаки security-уязвимостей или CVE. Поле `security_keywords_detected_by_script` равно `False`, а в тексте релизов упоминаются только улучшения функциональности, тестирования и инфраструктуры. ### 4. ABI/API риск Высокий риск изменений ABI/API. В релиз-нотах явно перечислены новые функции API (например, `cxl_region_get_extended_linear_cache_size`, `cxl_protocol_error_get_first` и др.) и новые команды CLI. Для библиоток, использующих `ndctl.so`, это может потребовать пересборки зависимых приложений или обновления заголовков. Необходим ручной анализ влияния новых символов на связывание. ### 5. Риск для RPM-сборки Возможны проблемы со сборкой, если: - В системе отсутствуют ядра с поддержкой CXL 7.0, требуемые для компиляции новых функций (риск ошибки линковки или выполнения). - Изменения в `util/sysfs` (правильная обработка `errno`, проверка прав root) могут повлиять на поведение при выполнении тестов `%check` или работе пакета на системах без соответствующих прав доступа. - Зависимость от специфических драйверов CXL может привести к ошибкам времени выполнения, если они не установлены. ### 6. Проверки мейнтейнера - [ ] Проверить наличие в системе ядра с поддержкой CXL 7.0 (или убедиться, что новые функции опциональны/не вызываются при их отсутствии). - [ ] Провести сравнение списков символов (symbols) между версиями 82 и 84 для оценки роста ABI. - [ ] Запустить `%check` в CI/CD окружении, эмулирующем отсутствие root-прав, чтобы проверить работу улучшений обработки ошибок в `util/sysfs`. - [ ] Убедиться, что новые зависимости (если есть скрытые через `BuildRequires`) удовлетворяются. - [ ] Проверить документацию пакета на предмет обновлений по новым командам `cxl-inject-*` и `cxl-list`. ### 7. Рекомендация update candidate ### 8. Основание рекомендации Несмотря на статус `major`, обновление классифицируется как `leaf` (конечный пакет), что обычно подразумевает меньшее влияние на экосистему по сравнению с обновлениями базовых библиотек. Отсутствуют блокирующие политики (`policy_blocked: False`) и признаки критических уязвимостей. Новые функции направлены на расширение возможностей диагностики и тестирования, а не на изменение фундаментальной логики работы памяти, что делает обновление приемлемым для ручного рассмотрения и последующего включения в候选 список обновлений после прохождения проверок совместимости. ## Upstream release notes / description This release incorporates functionality up through the 7.0 kernel. Highlights include new cxl-cli commands for media and protocol error injection, visibility of Extended Linear Cache (ELC) in cxl-list along with a new ELC unit test, and a unit test for address translation. It also includes additional unit test and infrastructure improvements that improve test coverage and overall quality. Commands: cxl-inject-protocol-error: new command cxl-inject-media-poison: new command cxl-list: add extended linear cache info cxl-list: add injection info APIs: cxl_region_get_extended_linear_cache_size; cxl_protocol_error_get_first; cxl_protocol_error_get_next; cxl_protocol_error_get_num; cxl_protocol_error_get_str; cxl_dport_get_einj_path; cxl_dport_protocol_error_inject; cxl_memdev_has_poison_support; cxl_memdev_inject_poison; cxl_memdev_clear_poison; cxl_debugfs_exists; Tests: test/cxl-poison.sh: add test case for unaligned address translations test/cxl-elc.sh: add a new test for extended linear cache support test/cxl-poison.sh: detect the correct elc sysfs attribute test/cxl-poison.sh: replace sysfs usage with cxl-cli cmds test/cxl-translate.sh: add new cxl-translate.sh unit test test/cxl-topology.sh: test switch port target enumeration test/pmem-ns: fully reset nfit_test in pmem-ns unit test test/cxl-poison.sh: add support for ELC in poison test test/cxl-poison.sh: use the cxl_test auto region Infrastructure: util/sysfs: add hint for missing root privileges on sysfs access util/sysfs: save and use errno properly in read and write paths README.md: exclude unsupported distros from Repology badge daxctl: replace basename() usage with new path_basename() ndctl: add key cleanup after overwrite operation Documentation: documentation: add docs for protocol and poison injection commands ## 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-28T23:35:42Z`
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/ndctl#1
No description provided.