From d243eae1fd092eb46a46c1e687eaba444f6a2ede Mon Sep 17 00:00:00 2001 From: andrewwhitecdw Date: Wed, 12 Aug 2026 19:02:09 -0500 Subject: [PATCH] fix: _create_driver_package never builds nvidia-uvm.ko Signed-off-by: andrewwhitecdw --- rhel9/nvidia-driver | 2 +- test_create_driver_package.sh | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 test_create_driver_package.sh diff --git a/rhel9/nvidia-driver b/rhel9/nvidia-driver index b39b38893..917b9af86 100755 --- a/rhel9/nvidia-driver +++ b/rhel9/nvidia-driver @@ -246,7 +246,7 @@ _create_driver_package() ( fi fi - make -s -j ${MAX_THREADS} SYSSRC=/lib/modules/${KERNEL_VERSION}/build nv-linux.o nv-modeset-linux.o > /dev/null + make -s -j ${MAX_THREADS} SYSSRC=/lib/modules/${KERNEL_VERSION}/build nv-linux.o nv-modeset-linux.o nvidia-uvm.ko > /dev/null echo "Relinking NVIDIA driver kernel modules..." rm -f nvidia.ko nvidia-modeset.ko diff --git a/test_create_driver_package.sh b/test_create_driver_package.sh new file mode 100644 index 000000000..755a3c823 --- /dev/null +++ b/test_create_driver_package.sh @@ -0,0 +1,17 @@ +#!/bin/bash +set -euo pipefail + +# Regression test: the _create_driver_package function must list nvidia-uvm.ko +# as a make target because it is signed and packed later in the same function. +func_body=$(sed -n '/^_create_driver_package()/,/^}/p' rhel9/nvidia-driver) +make_line=$(printf '%s\n' "$func_body" | grep -E '^\s+make -s -j .* SYSSRC=') + +if [ -z "$make_line" ]; then + echo "FAIL: could not find the make invocation in _create_driver_package" + exit 1 +fi + +if printf '%s\n' "$make_line" | grep -q 'nvidia-uvm.ko'; then + echo "PASS: _create_driver_package builds nvidia-uvm.ko" +else + echo "FAIL: _create_driver_package does not build nvidia-uvm.ko"