Public bug reported:

nvidia-dkms-590-open 590.48.01 fails to build the NVIDIA kernel modules
against the Linux 7.0 HWE kernel (7.0.0-28-generic) on Ubuntu 24.04.4
LTS   due to an incompatible dev_pagemap_ops API in nvidia-
uvm/uvm_pmm_gpu.c.

  
Environment

  ┌──────────────┬─────────────────────────────────────────────────────────┐
  │ Item         │ Value                                                   │
  ├──────────────┼─────────────────────────────────────────────────────────┤
  │ Ubuntu       │ Ubuntu 24.04.4 LTS (Noble)                              │
  │ release      │                                                         │
  ├──────────────┼─────────────────────────────────────────────────────────┤
  │ Running      │ 6.17.0-1028-oem                                         │
  │ kernel       │                                                         │
  ├──────────────┼─────────────────────────────────────────────────────────┤
  │ Failing      │ 7.0.0-28-generic (linux-image-generic-hwe-24.04)        │
  │ kernel       │                                                         │
  ├──────────────┼─────────────────────────────────────────────────────────┤
  │ Package      │ nvidia-dkms-590-open 590.48.01-0ubuntu0.24.04.4         │
  ├──────────────┼─────────────────────────────────────────────────────────┤
  │ Source       │ nvidia-graphics-drivers-590                             │
  │ package      │                                                         │
  ├──────────────┼─────────────────────────────────────────────────────────┤
  │ GPU          │ NVIDIA GeForce RTX 4050 Max-Q / Mobile (AD107M, PCI     │
  │              │ 10de:28e1)                                              │
  ├──────────────┼─────────────────────────────────────────────────────────┤
  │ System       │ Lenovo 83JC (OEM laptop)                                │
  ├──────────────┼─────────────────────────────────────────────────────────┤
  │ Driver       │ Open kernel module (nvidia-driver-590-open)             │
  │ variant      │                                                         │
  └──────────────┴─────────────────────────────────────────────────────────┘

  What I expected

  After installing/upgrading nvidia-dkms-590-open and the HWE kernel
  (linux-image-7.0.0-28-generic), DKMS should successfully compile and
  install the NVIDIA kernel modules for all installed kernels, including
  7.0.0-28-generic.

  What happened instead

  DKMS fails to build nvidia/590.48.01 for kernel 7.0.0-28-generic. The
  build stops while compiling nvidia-uvm/uvm_pmm_gpu.c because the driver
  still uses the removed dev_pagemap_ops.page_free callback. Linux 7.0
  renamed this to folio_free and changed the function signature from void 
  (*)(struct page *) to void (*)(struct folio *).

  dkms status shows the module as only added (not installed) for
  7.0.0-28-generic:

  nvidia/590.48.01: added

  The driver does build and work on the OEM kernel 6.17.0-1028-oem, where
  page_free still exists in include/linux/memremap.h.

  Steps to reproduce

  1. On Ubuntu 24.04.4 LTS, install the HWE stack and NVIDIA 590 open
     driver:

     sudo apt install linux-image-generic-hwe-24.04
  linux-headers-generic-hwe-24.04 nvidia-driver-590-open

  2. Trigger a DKMS rebuild for the 7.0 kernel:

     sudo dkms install nvidia/590.48.01 -k 7.0.0-28-generic

  3. Build fails with compile errors in nvidia-uvm/uvm_pmm_gpu.c.

  Relevant build log excerpt

  From /var/lib/dkms/nvidia/590.48.01/build/make.log:

  DKMS make.log for nvidia-590.48.01 for kernel 7.0.0-28-generic (x86_64)
  nvidia-uvm/uvm_pmm_gpu.c:3063:6: error: 'const struct dev_pagemap_ops' has
  no member named 'page_free'
   3063 |     .page_free = devmem_page_free,
        |      ^~~~~~~~~
  nvidia-uvm/uvm_pmm_gpu.c:3063:18: error: initialization of 'void
  (*)(struct folio *)' from incompatible pointer type 'void (*)(struct page
  *)' [-Werror=incompatible-pointer-types]
   3063 |     .page_free = devmem_page_free,
        |                  ^~~~~~~~~~~~~~~~
  nvidia-uvm/uvm_pmm_gpu.c:3063:18: note: (near initialization for
  'uvm_pmm_devmem_ops.folio_free')
  nvidia-uvm/uvm_pmm_gpu.c:3168:6: error: 'const struct dev_pagemap_ops' has
  no member named 'page_free'
  nvidia-uvm/uvm_pmm_gpu.c:3305:6: error: 'const struct dev_pagemap_ops' has
  no member named 'page_free'
  make[4]: *** [.../scripts/Makefile.build:289: nvidia-uvm/uvm_pmm_gpu.o]
  Error 1
  make: *** [Makefile:138: modules] Error 2

  Kernel API change

  In linux-headers-7.0.0-28-generic, dev_pagemap_ops uses:

  void (*folio_free)(struct folio *folio);

  In linux-headers-6.17.0-1028-oem, it still uses:

  void (*page_free)(struct page *page);

  The NVIDIA 590.48.01 open-source UVM code has not been updated for this
  Linux 7.0 API change.

  Additional notes

  • Build also reports: sh: 1: pahole: not found (warning only; not the
    cause of failure).
  • A newer package revision is available: 590.48.01-0ubuntu0.24.04.5 (not
    yet tested on this system).
  • On 6.17.0-1028-oem, nvidia-smi works (Driver Version 590.48.01), but
    DKMS reports warnings about differences between built and installed
    modules on several OEM kernels.

ProblemType: Package
DistroRelease: Ubuntu 24.04
Package: nvidia-dkms-590-open 590.48.01-0ubuntu0.24.04.4
ProcVersionSignature: Ubuntu 6.17.0-1028.28-oem 6.17.13
Uname: Linux 6.17.0-1028-oem x86_64
ApportVersion: 2.28.1-0ubuntu3.8
Architecture: amd64
CasperMD5CheckResult: pass
DKMSKernelVersion: 7.0.0-28-generic
Date: Sun Jul 19 13:23:50 2026
DuplicateSignature: 
dkms:nvidia-dkms-590-open:590.48.01-0ubuntu0.24.04.4:nvidia-uvm/uvm_pmm_gpu.c:3063:6:
 error: ‘const struct dev_pagemap_ops’ has no member named ‘page_free’
InstallationDate: Installed on 2025-12-21 (215 days ago)
InstallationMedia: Ubuntu 24.04.2 LTS "Noble Numbat" - Release amd64 (20250215)
PackageVersion: 590.48.01-0ubuntu0.24.04.4
Python3Details: /usr/bin/python3.12, Python 3.12.3, python3-minimal, 
3.12.3-0ubuntu2.1
PythonDetails: /usr/bin/python3.12, Python 3.12.3, python-is-python3, 3.11.4-1
RelatedPackageVersions:
 dpkg 1.22.6ubuntu6.6
 apt  2.8.3
SourcePackage: nvidia-graphics-drivers-590
Title: nvidia-dkms-590-open 590.48.01-0ubuntu0.24.04.4: nvidia kernel module 
failed to build
UpgradeStatus: No upgrade log present (probably fresh install)

** Affects: nvidia-graphics-drivers-590 (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: amd64 apport-package need-duplicate-check noble

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2161794

Title:
    nvidia-dkms-590-open 590.48.01 fails DKMS build on Linux 7.0 HWE
  kernel

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-590/+bug/2161794/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to