[Pkg-opencl-devel] Bug#1149691: trixie-pu: package ocl-icd/2.3.4-0+deb13u1
Agathe Porte
agathe.porte at oss.qualcomm.com
Fri Oct 2 11:24:57 BST 2026
Package: release.debian.org
Severity: normal
Tags: trixie
X-Debbugs-Cc: ocl-icd at packages.debian.org, agathe.porte at oss.qualcomm.com
Control: affects -1 + src:ocl-icd
User: release.debian.org at packages.debian.org
Usertags: pu
[ Reason ]
Users using a recent version of mesa, eg. the version from
trixie-backports, have rusticl installed which uses version 2 of ICD
that leads to a SEGFAULT when using ocd-icl-libopencl1.
[ Impact ]
Users cannot use OpenCL when a recent version of mesa is installed on
trixie.
[ Tests ]
Test plan
0. Install dependencies and make sure rusticl is installed on
the system (comes from mesa trixie-backports), which uses version 2
ICD leading to a crash:
$ sudo apt install \
mesa-opencl-icd/trixie-backports \
clinfo
$ ls -1 /etc/OpenCL/vendors/rusticl.icd
/etc/OpenCL/vendors/rusticl.icd
1. Run clinfo, which should crash before update and not crash after update:
$ dpkg -s ocl-icd-libopencl1 | grep Version
Version: 2.3.3-1
$ clinfo
...
Segmentation Fault
$ sudo dpkg -i ocl-icd-libopencl1_2.3.4-0+deb13u1_amd64.deb
$ dpkg -s ocl-icd-libopencl1 | grep Version
Version: 2.3.4-0+deb13u1
$ clinfo
...
[no crash]
[ Risks ]
No regression risk identified.
[ Checklist ]
[x] *all* changes are documented in the d/changelog
[x] I reviewed all changes and I approve them
[x] attach debdiff against the package in (old)stable
[x] the issue is verified as fixed in unstable
[ Changes ]
This is an import of the new 2.3.4 upstream release as it contains and
only contains a fix for this very specific bug, visible in release notes
as well as in the debdiff:
https://github.com/OCL-dev/ocl-icd/releases/tag/v2.3.4
So better import this new upstream release as 2.3.4-0+deb13u1 instead of
cherry-picking the patch and using a confusing 2.3.3-1+deb13u1 release.
Thanks,
Agathe.
-------------- next part --------------
diff -Nru ocl-icd-2.3.3/configure.ac ocl-icd-2.3.4/configure.ac
--- ocl-icd-2.3.3/configure.ac 2025-04-02 22:16:06.000000000 +0200
+++ ocl-icd-2.3.4/configure.ac 2025-10-14 23:23:34.000000000 +0200
@@ -6,7 +6,7 @@
AC_PREREQ([2.67])
-AC_INIT([OpenCL ICD Loader], [2.3.3], [ocl-icd-devel at lists.forge.imag.fr], [ocl-icd])
+AC_INIT([OpenCL ICD Loader], [2.3.4], [ocl-icd-devel at lists.forge.imag.fr], [ocl-icd])
AC_CONFIG_SRCDIR([ocl_icd_loader.c])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_HEADERS([config.h])
diff -Nru ocl-icd-2.3.3/debian/changelog ocl-icd-2.3.4/debian/changelog
--- ocl-icd-2.3.3/debian/changelog 2025-04-06 01:34:39.000000000 +0200
+++ ocl-icd-2.3.4/debian/changelog 2026-10-02 11:52:53.000000000 +0200
@@ -1,3 +1,11 @@
+ocl-icd (2.3.4-0+deb13u1) trixie; urgency=medium
+
+ * New upstream release. (Closes: #1117930)
+ * d/salsa-ci.yml: set RELEASE to trixie
+ * d/gbp.conf: create for trixie branch
+
+ -- Agathe Porte <agathe.porte at oss.qualcomm.com> Fri, 02 Oct 2026 11:52:53 +0200
+
ocl-icd (2.3.3-1) unstable; urgency=medium
* Team upload.
diff -Nru ocl-icd-2.3.3/debian/gbp.conf ocl-icd-2.3.4/debian/gbp.conf
--- ocl-icd-2.3.3/debian/gbp.conf 1970-01-01 01:00:00.000000000 +0100
+++ ocl-icd-2.3.4/debian/gbp.conf 2026-10-02 11:45:19.000000000 +0200
@@ -0,0 +1,2 @@
+[DEFAULT]
+debian-branch = debian/trixie
diff -Nru ocl-icd-2.3.3/debian/salsa-ci.yml ocl-icd-2.3.4/debian/salsa-ci.yml
--- ocl-icd-2.3.3/debian/salsa-ci.yml 2025-04-06 01:34:39.000000000 +0200
+++ ocl-icd-2.3.4/debian/salsa-ci.yml 2026-10-02 11:44:29.000000000 +0200
@@ -1,3 +1,6 @@
---
include:
- https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/recipes/debian.yml
+
+variables:
+ RELEASE: trixie
diff -Nru ocl-icd-2.3.3/NEWS ocl-icd-2.3.4/NEWS
--- ocl-icd-2.3.3/NEWS 2025-04-02 22:16:06.000000000 +0200
+++ ocl-icd-2.3.4/NEWS 2025-10-14 23:23:34.000000000 +0200
@@ -1,3 +1,8 @@
+Version 2.3.4
+=============
+Brice Videau (1):
+ Fix sorting that would overwrite dispatch table
+
Version 2.3.3
=============
Brice Videau (1):
diff -Nru ocl-icd-2.3.3/ocl_icd_loader.c ocl-icd-2.3.4/ocl_icd_loader.c
--- ocl-icd-2.3.3/ocl_icd_loader.c 2025-04-02 22:16:06.000000000 +0200
+++ ocl-icd-2.3.4/ocl_icd_loader.c 2025-10-14 23:23:34.000000000 +0200
@@ -526,8 +526,13 @@
if (KHR_ICD2_HAS_TAG(p->pid))
{
- _populate_dispatch_table(p->pid, pltfn_fn_ptr, &p->disp_data.dispatch);
- spltdd_fn_ptr(p->pid, &p->disp_data);
+ p->disp_data = (struct _cl_disp_data *)calloc(1, sizeof(struct _cl_disp_data));
+ if (!p->disp_data) {
+ debug(D_WARN, "Not enough memory to allocate dispatch data, skipping ICD");
+ continue;
+ }
+ _populate_dispatch_table(p->pid, pltfn_fn_ptr, &p->disp_data->dispatch);
+ spltdd_fn_ptr(p->pid, p->disp_data);
debug(D_LOG, "Found icd 2 platform, using loader managed dispatch");
}
diff -Nru ocl-icd-2.3.3/ocl_icd_loader.h ocl-icd-2.3.4/ocl_icd_loader.h
--- ocl-icd-2.3.3/ocl_icd_loader.h 2025-04-02 22:16:06.000000000 +0200
+++ ocl-icd-2.3.4/ocl_icd_loader.h 2025-10-14 23:23:34.000000000 +0200
@@ -119,14 +119,14 @@
(object)->dispatch)
struct platform_icd {
- char *extension_suffix;
- char *version;
- struct vendor_icd *vicd;
- cl_platform_id pid;
- cl_uint ngpus; /* number of GPU devices */
- cl_uint ncpus; /* number of CPU devices */
- cl_uint ndevs; /* total number of devices, of all types */
- struct _cl_disp_data disp_data;
+ char *extension_suffix;
+ char *version;
+ struct vendor_icd *vicd;
+ cl_platform_id pid;
+ cl_uint ngpus; /* number of GPU devices */
+ cl_uint ncpus; /* number of CPU devices */
+ cl_uint ndevs; /* total number of devices, of all types */
+ struct _cl_disp_data *disp_data;
};
__attribute__((visibility("hidden")))
More information about the Pkg-opencl-devel
mailing list