#1151043 xrt-xocl-dkms: module fails to compile on kernel >=7.2 due to strncpy removal

Package:
xrt-xocl-dkms
Source:
xrt-xocl-dkms
Description:
Xilinx Runtime (XRT) - runtime -- XOCL kernel driver
Submitter:
Isaac True
Date:
2026-10-16 11:59:05 UTC
Severity:
normal
#1151043#5
Date:
2026-10-16 11:56:53 UTC
From:
To:
Dear Maintainer,

As strncpy has been removed from Linux kernel versions >=7.2, the DKMS
module fails to build:

Building module(s)
# command: cd driver/xocl; make KERNEL_SRC=/lib/modules/7.2.11+deb14-amd64/build
cd userpf; make all
make[1]: Entering directory '/var/lib/dkms/xrt/2.25.00/build/driver/xocl/userpf'
/var/lib/dkms/xrt/2.25.00/build/driver/xocl/userpf
make -C /lib/modules/7.2.11+deb14-amd64/build M=/var/lib/dkms/xrt/2.25.00/build/driver/xocl/userpf modules
make[2]: Entering directory '/usr/src/linux-headers-7.2.11+deb14-amd64'
make[3]: Entering directory '/var/lib/dkms/xrt/2.25.00/build/driver/xocl/userpf'
  CC [M]  ../xocl_subdev.o
../xocl_subdev.c: In function ‘__xocl_subdev_create’:
../xocl_subdev.c:623:33: error: implicit declaration of function ‘strncpy’ [-Wimplicit-function-declaration]
  623 |                                 strncpy(subdev->res_name +
      |                                 ^~~~~~~
../xocl_subdev.c:22:1: note: include ‘<string.h>’ or provide a declaration of ‘strncpy’
   21 | #include "version.h"
  +++ |+#include <string.h>
   22 |
../xocl_subdev.c:623:33: warning: incompatible implicit declaration of built-in function ‘strncpy’ [-Wbuiltin-declaration-mismatch]
  623 |                                 strncpy(subdev->res_name +
      |                                 ^~~~~~~
../xocl_subdev.c:623:33: note: include ‘<string.h>’ or provide a declaration of ‘strncpy’
../xocl_subdev.c: In function ‘xocl_fetch_dynamic_platform’:
../xocl_subdev.c:1438:25: warning: incompatible implicit declaration of built-in function ‘strncpy’ [-Wbuiltin-declaration-mismatch]
 1438 |                         strncpy(core->vbnv_cache, dsa_map[i].vbnv,
      |                         ^~~~~~~
../xocl_subdev.c:1438:25: note: include ‘<string.h>’ or provide a declaration of ‘strncpy’
make[5]: *** [/usr/src/linux-headers-7.2.11+deb14-common/scripts/Makefile.build:294: ../xocl_subdev.o] Error 1
make[4]: *** [/usr/src/linux-headers-7.2.11+deb14-common/Makefile:2222: .] Error 2
make[3]: *** [/usr/src/linux-headers-7.2.11+deb14-common/Makefile:260: __sub-make] Error 2
make[3]: Leaving directory '/var/lib/dkms/xrt/2.25.00/build/driver/xocl/userpf'
make[2]: *** [/usr/src/linux-headers-7.2.11+deb14-common/Makefile:260: __sub-make] Error 2
make[2]: Leaving directory '/usr/src/linux-headers-7.2.11+deb14-amd64'
make[1]: *** [Makefile:137: all] Error 2
make[1]: Leaving directory '/var/lib/dkms/xrt/2.25.00/build/driver/xocl/userpf'
make: *** [Makefile:2: all] Error 2

Upstream kernel commit documenting strncpy removal: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1a3746ccbb0a97bed3c06ccde6b880013b1dddc1

Previously, this function was deprecated; now it has been completely
removed.