nvidia-dkms-535-server-open FTBS with the latest 6.7 kernel in noble

Bug #2048758 reported by Andrea Righi
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
nvidia-graphics-drivers-535-server (Ubuntu)
Fix Released
Undecided
Unassigned
Noble
Fix Released
Undecided
Unassigned

Bug Description

[Impact]

/var/lib/dkms/nvidia/535.129.03/build/nvidia/libspdm_shash.c:90:26: error: implicit declaration of function ‘crypto_tfm_ctx_aligned’; did you mean ‘crypto_tfm_ctx_align’? [-Werror=implicit-function-declaration]
   90 | char *src_ipad = crypto_tfm_ctx_aligned(&src_tfm->base);
      | ^~~~~~~~~~~~~~~~~~~~~~
      | crypto_tfm_ctx_align
/var/lib/dkms/nvidia/535.129.03/build/nvidia/libspdm_shash.c:90:26: warning: initialization of ‘char *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
/var/lib/dkms/nvidia/535.129.03/build/nvidia/libspdm_shash.c:91:26: warning: initialization of ‘char *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
   91 | char *dst_ipad = crypto_tfm_ctx_aligned(&dst_tfm->base);
      | ^~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors

[Test case]

 $ sudo apt install nvidia-dkms-535-server-open

[Fix]

Upstream commit acd7799574e5 ("crypto: shash - remove crypto_shash_ctx_aligned()") removed crypto_tfm_ctx_aligned() that is used by the open variant of the driver.

Re-introduce this function (as a static inline) directly in the driver (like the original one):

static inline void *crypto_tfm_ctx_aligned(struct crypto_tfm *tfm)
{
       return crypto_tfm_ctx_align(tfm, crypto_tfm_alg_alignmask(tfm) + 1);
}

This should fix the build error, since crypto_tfm_ctx_align() is still available in the kernel ABI.

[Regression potential]

We may experience graphics regressions in systems that are using the open variant of the 535-server nvidia driver, especially with any 6.7 kernel.

ProblemType: Bug
DistroRelease: Ubuntu 24.04
Package: nvidia-dkms-535-server-open 535.129.03-0ubuntu1
ProcVersionSignature: User Name 6.7.0-5.5-generic 6.7.0-rc8
Uname: Linux 6.7.0-5-generic x86_64
ApportVersion: 2.27.0-0ubuntu6
Architecture: amd64
CasperMD5CheckResult: unknown
CloudArchitecture: x86_64
CloudBuildName: server
CloudID: nocloud
CloudName: unknown
CloudPlatform: nocloud
CloudSerial: 20240101
CloudSubPlatform: config-disk (/dev/vdb)
Date: Tue Jan 9 08:54:19 2024
ProcEnviron:
 LANG=C.UTF-8
 PATH=(custom, no user)
 SHELL=/bin/bash
 TERM=xterm-256color
 XDG_RUNTIME_DIR=<set>
SourcePackage: nvidia-graphics-drivers-535-server
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Andrea Righi (arighi) wrote :
Revision history for this message
Andrea Righi (arighi) wrote :

debdiff that allows to build nvidia-dkms-535-server-open with the latest 6.7 linux-unstable kernel.

Revision history for this message
Andrea Righi (arighi) wrote :

Test result with the patch applied:

$ sudo dpkg -i nvidia-dkms-535-server-open_535.129.03-0ubuntu2_amd64.deb
Selecting previously unselected package nvidia-dkms-535-server-open.
(Reading database ... 149296 files and directories currently installed.)
Preparing to unpack nvidia-dkms-535-server-open_535.129.03-0ubuntu2_amd64.deb ...
Unpacking nvidia-dkms-535-server-open (535.129.03-0ubuntu2) ...
Setting up nvidia-dkms-535-server-open (535.129.03-0ubuntu2) ...
update-initramfs: deferring update (trigger activated)
Loading new nvidia-535.129.03 DKMS files...
Building for 6.7.0-5-generic
Building for architecture x86_64
Building initial module for 6.7.0-5-generic
Done.

nvidia.ko.zst:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/6.7.0-5-generic/updates/dkms/

nvidia-modeset.ko.zst:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/6.7.0-5-generic/updates/dkms/

nvidia-drm.ko.zst:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/6.7.0-5-generic/updates/dkms/

nvidia-uvm.ko.zst:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/6.7.0-5-generic/updates/dkms/

nvidia-peermem.ko.zst:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/6.7.0-5-generic/updates/dkms/
depmod...
Processing triggers for initramfs-tools (0.142ubuntu19) ...
update-initramfs: Generating /boot/initrd.img-6.7.0-5-generic

We don't care about testing other kernels, because we're going to move soon to 6.7 for noble.

tags: added: patch
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package nvidia-graphics-drivers-535-server - 535.129.03-0ubuntu2

---------------
nvidia-graphics-drivers-535-server (535.129.03-0ubuntu2) noble; urgency=medium

  * Support linux 6.7 ABI (LP: #2048758):
    - debian/open-kernel/patches/re-add-crypto_tfm_ctx_aligned.patch

 -- Andrea Righi <email address hidden> Tue, 09 Jan 2024 09:06:46 +0000

Changed in nvidia-graphics-drivers-535-server (Ubuntu Noble):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.