[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