Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package linux-npu-driver for
openSUSE:Factory checked in at 2026-08-19 17:58:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/linux-npu-driver (Old)
and /work/SRC/openSUSE:Factory/.linux-npu-driver.new.1258 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "linux-npu-driver"
Wed Aug 19 17:58:46 2026 rev:7 rq:1371884 version:1.35.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/linux-npu-driver/linux-npu-driver.changes
2026-07-31 16:08:58.551911680 +0200
+++
/work/SRC/openSUSE:Factory/.linux-npu-driver.new.1258/linux-npu-driver.changes
2026-08-19 18:00:48.408346363 +0200
@@ -1,0 +2,12 @@
+Wed Aug 19 02:22:49 UTC 2026 - Alessandro de Oliveira Faria
<[email protected]>
+
+- Add fix-resource-cleaner-overflow.patch to resolve
+ ResourceCleaner timeout overflow on libstdc++
+
+-------------------------------------------------------------------
+Sat Aug 8 04:08:30 UTC 2026 - Alessandro de Oliveira Faria
<[email protected]>
+
+- The packages ibze_intel_npu, linux-npu-driver, and
+ linux-npu-driver-devel were created separately.
+
+-------------------------------------------------------------------
New:
----
fix-resource-cleaner-overflow.patch
----------(New B)----------
New:
- Add fix-resource-cleaner-overflow.patch to resolve
ResourceCleaner timeout overflow on libstdc++
----------(New E)----------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ linux-npu-driver.spec ++++++
--- /var/tmp/diff_new_pack.l6MElx/_old 2026-08-19 18:00:49.762395043 +0200
+++ /var/tmp/diff_new_pack.l6MElx/_new 2026-08-19 18:00:49.766395187 +0200
@@ -17,6 +17,8 @@
#
%define _firmwaredir /lib/firmware
+%define sover 1
+%define libname libze_intel_npu%{sover}
Name: linux-npu-driver
Version: 1.35.0
Release: 0
@@ -24,17 +26,21 @@
License: MIT
URL: https://github.com/intel/linux-npu-driver
Source0: %{name}-%{version}.tar.xz
+Patch0:
https://github.com/intel/linux-npu-driver/commit/84819fb90b5786fcde13552df772467f9d6b7ffe.patch#/fix-resource-cleaner-overflow.patch
BuildRequires: cmake
BuildRequires: git
%if 0%{?suse_version} >= 1600 && 0%{?is_opensuse}
BuildRequires: gcc-c++ gcc
%else
-BuildRequires: gcc12-c++ gcc12
+BuildRequires: gcc12
+BuildRequires: gcc12-c++
+BuildRequires: libasan8
+BuildRequires: libtsan2
%endif
BuildRequires: pkgconfig(gtest)
BuildRequires: pkgconfig(level-zero)
BuildRequires: pkgconfig(gmock)
-BuildRequires: xz
+BuildRequires: xz yaml-cpp-devel
ExclusiveArch: x86_64
%description
@@ -43,30 +49,53 @@
(formerly known as Meteor Lake). It enables execution of artificial
neural network tasks.
+%package -n %{libname}
+Summary: Intel NPU Level Zero user-mode driver library
+
+%description -n %{libname}
+This package contains the Intel NPU Level Zero user-mode driver
+shared library.
+
+%package devel
+Summary: Development files for the Intel NPU Level Zero driver
+Requires: %{libname} = %{version}
+
+%description devel
+This package contains the development linker files for the Intel NPU
+Level Zero user-mode driver.
+
%prep
%autosetup -p1
%build
%if 0%{?suse_version} < 1600 && 0%{?is_opensuse}
-export CC=gcc-12 CXX=g++-12
+export CC=gcc-12
+export CXX=g++-12
%endif
%cmake \
-DENABLE_NPU_COMPILER_BUILD=OFF \
- -DCMAKE_CXX_FLAGS="-fcf-protection=none" \
- -DCMAKE_C_FLAGS="-fcf-protection=none"
-DCMAKE_CXX_FLAGS="-Wno-error=missing-field-initializers"
+ -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON \
+ -DCMAKE_EXE_LINKER_FLAGS:STRING="-pie" \
+ -DCMAKE_C_FLAGS:STRING="%{optflags} -fcf-protection=none" \
+ -DCMAKE_CXX_FLAGS:STRING="%{optflags} -fcf-protection=none
-Wno-error=missing-field-initializers"
+
%cmake_build
%install
%cmake_install
DESTDIR=%{buildroot} /usr/bin/cmake --install build --component fw-npu
-%ldconfig_scriptlets
+%ldconfig_scriptlets -n %{libname}
%files
-%{_libdir}/libze_*.so.*
-%{_libdir}/libze_*.so
%{_bindir}/npu-kmd-test
%{_bindir}/npu-umd-test
%{_firmwaredir}
+%files -n %{libname}
+%{_libdir}/libze_intel_npu.so.*
+
+%files devel
+%{_libdir}/libze_intel_npu.so
+
++++++ fix-resource-cleaner-overflow.patch ++++++
>From 84819fb90b5786fcde13552df772467f9d6b7ffe Mon Sep 17 00:00:00 2001
From: "Alessandro de Oliveira Faria (A.K.A. CABELO)" <[email protected]>
Date: Thu, 30 Jul 2026 00:55:32 -0300
Subject: [PATCH] UMD: Prevent ResourceCleaner timeout overflow on libstdc++
Avoid passing the max steady_clock time_point to cv.wait_until, which
can overflow internally on libstdc++ and cause undefined behavior.
Instead, use cv.wait() when no timeout is set, only computing an
actual wait_until deadline when a real idle timeout is active.
---
umd/level_zero_driver/source/context.cpp | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/umd/level_zero_driver/source/context.cpp
b/umd/level_zero_driver/source/context.cpp
index a4d29fe..171aed5 100644
--- a/umd/level_zero_driver/source/context.cpp
+++ b/umd/level_zero_driver/source/context.cpp
@@ -258,12 +258,17 @@ ResourceCleaner::ResourceCleaner(Context *ctx,
std::chrono::milliseconds timeout
, thread(
[this](Context *ctx) {
std::unique_lock<std::mutex> lock(mutex);
- auto timeout =
std::chrono::time_point<std::chrono::steady_clock>::max();
+ const auto noTimeout =
std::chrono::time_point<std::chrono::steady_clock>::max();
+ auto timeout = noTimeout;
while (action != Action::BREAK) {
- if (cv.wait_until(lock, timeout) == std::cv_status::timeout)
{
+ if (timeout == noTimeout) {
+ cv.wait(lock);
+ } else if (cv.wait_until(lock, timeout) ==
std::cv_status::timeout) {
ctx->releaseMemory();
- timeout =
std::chrono::time_point<std::chrono::steady_clock>::max();
- } else if (action == Action::PRUNE_AFTER_TIMEOUT) {
+ timeout = noTimeout;
+ continue;
+ }
+ if (action == Action::PRUNE_AFTER_TIMEOUT) {
timeout = std::chrono::steady_clock::now() + idleTimeout;
}
}