diff -Nru nvidia-graphics-drivers-535-server-535.154.05/debian/changelog nvidia-graphics-drivers-535-server-535.154.05/debian/changelog --- nvidia-graphics-drivers-535-server-535.154.05/debian/changelog 2024-01-10 15:03:29.000000000 +0000 +++ nvidia-graphics-drivers-535-server-535.154.05/debian/changelog 2024-02-05 08:33:36.000000000 +0000 @@ -1,3 +1,11 @@ +nvidia-graphics-drivers-535-server (535.154.05-0ubuntu2) noble; urgency=medium + + * debian/dkms_nvidia/patches/buildfix_kernel_6.8-nv_drm_ioctls-DRM_UNLOCKED-is-now-the-default-behavi.patch, + debian/dkms_nvidia/patches/buildfix_kernel_6.8-gpl-pfn_valid.patch: + - Fix build with Linux 6.8 (LP: #2052420) + + -- Paolo Pisati Mon, 05 Feb 2024 08:33:36 +0000 + nvidia-graphics-drivers-535-server (535.154.05-0ubuntu1) noble; urgency=medium * New upstream release (LP: #2048901) diff -Nru nvidia-graphics-drivers-535-server-535.154.05/debian/dkms_nvidia/patches/buildfix_kernel_6.8-gpl-pfn_valid.patch nvidia-graphics-drivers-535-server-535.154.05/debian/dkms_nvidia/patches/buildfix_kernel_6.8-gpl-pfn_valid.patch --- nvidia-graphics-drivers-535-server-535.154.05/debian/dkms_nvidia/patches/buildfix_kernel_6.8-gpl-pfn_valid.patch 1970-01-01 00:00:00.000000000 +0000 +++ nvidia-graphics-drivers-535-server-535.154.05/debian/dkms_nvidia/patches/buildfix_kernel_6.8-gpl-pfn_valid.patch 2024-02-05 08:33:36.000000000 +0000 @@ -0,0 +1,62 @@ +linux-6.1.76, 6.6.15, and 6.7.3 have modified the non-ARCH-specific +pfn_valid() to use __rcu_read_lock/unlock[1] that is marked GPL and +cannot be used here[2][3][4] unless use the open source variant. + +As a workaround, reuse the old implementation until NVIDIA makes +a fixed release (due to no longer be using pfn_valid[5], likely +with its own implementation similarly to this patch). + +Safe to use with kernel >=5.15 or so but older ones had a different +pfn_valid implementation. However 5.15 and older branches are +"currently" not affected, so simply limit to >=6.1.76. + +[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/include/linux/mmzone.h?h=v6.7.3&id=3a01daace71b521563c38bbbf874e14c3e58adb7 +[2] https://bugs.gentoo.org/923456 +[3] https://forums.developer.nvidia.com/t/280908 +[4] https://github.com/NVIDIA/open-gpu-kernel-modules/issues/594 +[5] https://github.com/NVIDIA/open-gpu-kernel-modules/issues/594#issuecomment-1916197641 +--- a/common/inc/nv-linux.h ++++ b/common/inc/nv-linux.h +@@ -1990,2 +1990,23 @@ + ++#if defined(CONFIG_HAVE_ARCH_PFN_VALID) || LINUX_VERSION_CODE < KERNEL_VERSION(6,1,76) ++# define nv_pfn_valid pfn_valid ++#else ++/* pre-6.1.76 kernel pfn_valid version without GPL rcu_read_lock/unlock() */ ++static inline int nv_pfn_valid(unsigned long pfn) ++{ ++ struct mem_section *ms; ++ ++ if (PHYS_PFN(PFN_PHYS(pfn)) != pfn) ++ return 0; ++ ++ if (pfn_to_section_nr(pfn) >= NR_MEM_SECTIONS) ++ return 0; ++ ++ ms = __pfn_to_section(pfn); ++ if (!valid_section(ms)) ++ return 0; ++ ++ return early_section(ms) || pfn_section_valid(ms, pfn); ++} ++#endif + #endif /* _NV_LINUX_H_ */ +--- a/nvidia/nv-mmap.c ++++ b/nvidia/nv-mmap.c +@@ -576,3 +576,3 @@ + if (!IS_REG_OFFSET(nv, access_start, access_len) && +- (pfn_valid(PFN_DOWN(mmap_start)))) ++ (nv_pfn_valid(PFN_DOWN(mmap_start)))) + { +--- a/nvidia/os-mlock.c ++++ b/nvidia/os-mlock.c +@@ -102,3 +102,3 @@ + if ((nv_follow_pfn(vma, (start + (i * PAGE_SIZE)), &pfn) < 0) || +- (!pfn_valid(pfn))) ++ (!nv_pfn_valid(pfn))) + { +@@ -176,3 +176,3 @@ + +- if (pfn_valid(pfn)) ++ if (nv_pfn_valid(pfn)) + { diff -Nru nvidia-graphics-drivers-535-server-535.154.05/debian/dkms_nvidia/patches/buildfix_kernel_6.8-nv_drm_ioctls-DRM_UNLOCKED-is-now-the-default-behavi.patch nvidia-graphics-drivers-535-server-535.154.05/debian/dkms_nvidia/patches/buildfix_kernel_6.8-nv_drm_ioctls-DRM_UNLOCKED-is-now-the-default-behavi.patch --- nvidia-graphics-drivers-535-server-535.154.05/debian/dkms_nvidia/patches/buildfix_kernel_6.8-nv_drm_ioctls-DRM_UNLOCKED-is-now-the-default-behavi.patch 1970-01-01 00:00:00.000000000 +0000 +++ nvidia-graphics-drivers-535-server-535.154.05/debian/dkms_nvidia/patches/buildfix_kernel_6.8-nv_drm_ioctls-DRM_UNLOCKED-is-now-the-default-behavi.patch 2024-02-05 08:33:36.000000000 +0000 @@ -0,0 +1,113 @@ +From 6730f510a023f23ac591dd9e153eaa5fc42ea3c9 Mon Sep 17 00:00:00 2001 +From: Paolo Pisati +Date: Tue, 6 Feb 2024 12:10:37 +0000 +Subject: [PATCH] nv_drm_ioctls: DRM_UNLOCKED is now the default behaviour + +Signed-off-by: Paolo Pisati +--- + nvidia-drm/nvidia-drm-drv.c | 42 +++++++++++-------- + 1 file changed, 24 insertions(+), 18 deletions(-) + +diff --git a/nvidia-drm/nvidia-drm-drv.c b/nvidia-drm/nvidia-drm-drv.c +index 62d557e7..d8638a3e 100644 +--- a/nvidia-drm/nvidia-drm-drv.c ++++ b/nvidia-drm/nvidia-drm-drv.c +@@ -1283,33 +1283,39 @@ static const struct file_operations nv_drm_fops = { + .llseek = noop_llseek, + }; + ++#if defined(DRM_UNLOCKED) ++#define __DRM_UNLOCKED DRM_UNLOCKED ++#else ++#define __DRM_UNLOCKED 0 ++#endif ++ + static const struct drm_ioctl_desc nv_drm_ioctls[] = { + #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE) + DRM_IOCTL_DEF_DRV(NVIDIA_GEM_IMPORT_NVKMS_MEMORY, + nv_drm_gem_import_nvkms_memory_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + #endif /* NV_DRM_ATOMIC_MODESET_AVAILABLE */ + + DRM_IOCTL_DEF_DRV(NVIDIA_GEM_IMPORT_USERSPACE_MEMORY, + nv_drm_gem_import_userspace_memory_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(NVIDIA_GEM_MAP_OFFSET, + nv_drm_gem_map_offset_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(NVIDIA_GET_DEV_INFO, + nv_drm_get_dev_info_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + + #if defined(NV_DRM_FENCE_AVAILABLE) + DRM_IOCTL_DEF_DRV(NVIDIA_FENCE_SUPPORTED, + nv_drm_fence_supported_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(NVIDIA_PRIME_FENCE_CONTEXT_CREATE, + nv_drm_prime_fence_context_create_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(NVIDIA_GEM_PRIME_FENCE_ATTACH, + nv_drm_gem_prime_fence_attach_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + #endif + + /* +@@ -1330,37 +1336,37 @@ static const struct drm_ioctl_desc nv_drm_ioctls[] = { + #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE) + DRM_IOCTL_DEF_DRV(NVIDIA_GET_CRTC_CRC32, + nv_drm_get_crtc_crc32_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(NVIDIA_GET_CRTC_CRC32_V2, + nv_drm_get_crtc_crc32_v2_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(NVIDIA_GEM_EXPORT_NVKMS_MEMORY, + nv_drm_gem_export_nvkms_memory_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(NVIDIA_GEM_ALLOC_NVKMS_MEMORY, + nv_drm_gem_alloc_nvkms_memory_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(NVIDIA_GEM_EXPORT_DMABUF_MEMORY, + nv_drm_gem_export_dmabuf_memory_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(NVIDIA_GEM_IDENTIFY_OBJECT, + nv_drm_gem_identify_object_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(NVIDIA_DMABUF_SUPPORTED, + nv_drm_dmabuf_supported_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(NVIDIA_GET_DPY_ID_FOR_CONNECTOR_ID, + nv_drm_get_dpy_id_for_connector_id_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(NVIDIA_GET_CONNECTOR_ID_FOR_DPY_ID, + nv_drm_get_connector_id_for_dpy_id_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(NVIDIA_GRANT_PERMISSIONS, + nv_drm_grant_permission_ioctl, +- DRM_UNLOCKED|DRM_MASTER), ++ __DRM_UNLOCKED|DRM_MASTER), + DRM_IOCTL_DEF_DRV(NVIDIA_REVOKE_PERMISSIONS, + nv_drm_revoke_permission_ioctl, +- DRM_UNLOCKED|DRM_MASTER), ++ __DRM_UNLOCKED|DRM_MASTER), + #endif /* NV_DRM_ATOMIC_MODESET_AVAILABLE */ + }; + +-- +2.43.0 + diff -Nru nvidia-graphics-drivers-535-server-535.154.05/debian/dkms_nvidia.conf nvidia-graphics-drivers-535-server-535.154.05/debian/dkms_nvidia.conf --- nvidia-graphics-drivers-535-server-535.154.05/debian/dkms_nvidia.conf 2024-01-10 15:03:29.000000000 +0000 +++ nvidia-graphics-drivers-535-server-535.154.05/debian/dkms_nvidia.conf 2024-02-05 08:33:36.000000000 +0000 @@ -13,6 +13,8 @@ DEST_MODULE_LOCATION[2]="/kernel/drivers/char/drm" AUTOINSTALL="yes" PATCH[0]="disable_fstack-clash-protection_fcf-protection.patch" +PATCH[1]="buildfix_kernel_6.8-nv_drm_ioctls-DRM_UNLOCKED-is-now-the-default-behavi.patch" +PATCH[2]="buildfix_kernel_6.8-gpl-pfn_valid.patch" # Apply from v4 to v5.12 kernels # v5.13 kernels already disable both by default # v5.19 kernels may need cf-protection=branch diff -Nru nvidia-graphics-drivers-535-server-535.154.05/debian/dkms_nvidia_open.conf nvidia-graphics-drivers-535-server-535.154.05/debian/dkms_nvidia_open.conf --- nvidia-graphics-drivers-535-server-535.154.05/debian/dkms_nvidia_open.conf 2024-01-10 15:03:29.000000000 +0000 +++ nvidia-graphics-drivers-535-server-535.154.05/debian/dkms_nvidia_open.conf 2024-02-05 08:33:36.000000000 +0000 @@ -14,6 +14,8 @@ AUTOINSTALL="yes" PATCH[0]="disable_fstack-clash-protection_fcf-protection.patch" # Apply from v4 to v5.12 kernels +PATCH[2]="buildfix_kernel_6.8-nv_drm_ioctls-DRM_UNLOCKED-is-now-the-default-behavi.patch" +PATCH[3]="buildfix_kernel_6.8-gpl-pfn_valid.patch" # v5.13 kernels already disable both by default # v5.19 kernels may need cf-protection=branch PATCH_MATCH[0]='^(4\.[0-9]*)|(5\.[0-9]\.0)|(5\.1[0-2]\.0)' diff -Nru nvidia-graphics-drivers-535-server-535.154.05/debian/open-kernel/patches/buildfix_kernel_6.8-gpl-pfn_valid.patch nvidia-graphics-drivers-535-server-535.154.05/debian/open-kernel/patches/buildfix_kernel_6.8-gpl-pfn_valid.patch --- nvidia-graphics-drivers-535-server-535.154.05/debian/open-kernel/patches/buildfix_kernel_6.8-gpl-pfn_valid.patch 1970-01-01 00:00:00.000000000 +0000 +++ nvidia-graphics-drivers-535-server-535.154.05/debian/open-kernel/patches/buildfix_kernel_6.8-gpl-pfn_valid.patch 2024-02-05 08:33:36.000000000 +0000 @@ -0,0 +1,62 @@ +linux-6.1.76, 6.6.15, and 6.7.3 have modified the non-ARCH-specific +pfn_valid() to use __rcu_read_lock/unlock[1] that is marked GPL and +cannot be used here[2][3][4] unless use the open source variant. + +As a workaround, reuse the old implementation until NVIDIA makes +a fixed release (due to no longer be using pfn_valid[5], likely +with its own implementation similarly to this patch). + +Safe to use with kernel >=5.15 or so but older ones had a different +pfn_valid implementation. However 5.15 and older branches are +"currently" not affected, so simply limit to >=6.1.76. + +[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/include/linux/mmzone.h?h=v6.7.3&id=3a01daace71b521563c38bbbf874e14c3e58adb7 +[2] https://bugs.gentoo.org/923456 +[3] https://forums.developer.nvidia.com/t/280908 +[4] https://github.com/NVIDIA/open-gpu-kernel-modules/issues/594 +[5] https://github.com/NVIDIA/open-gpu-kernel-modules/issues/594#issuecomment-1916197641 +--- a/common/inc/nv-linux.h ++++ b/common/inc/nv-linux.h +@@ -1990,2 +1990,23 @@ + ++#if defined(CONFIG_HAVE_ARCH_PFN_VALID) || LINUX_VERSION_CODE < KERNEL_VERSION(6,1,76) ++# define nv_pfn_valid pfn_valid ++#else ++/* pre-6.1.76 kernel pfn_valid version without GPL rcu_read_lock/unlock() */ ++static inline int nv_pfn_valid(unsigned long pfn) ++{ ++ struct mem_section *ms; ++ ++ if (PHYS_PFN(PFN_PHYS(pfn)) != pfn) ++ return 0; ++ ++ if (pfn_to_section_nr(pfn) >= NR_MEM_SECTIONS) ++ return 0; ++ ++ ms = __pfn_to_section(pfn); ++ if (!valid_section(ms)) ++ return 0; ++ ++ return early_section(ms) || pfn_section_valid(ms, pfn); ++} ++#endif + #endif /* _NV_LINUX_H_ */ +--- a/nvidia/nv-mmap.c ++++ b/nvidia/nv-mmap.c +@@ -576,3 +576,3 @@ + if (!IS_REG_OFFSET(nv, access_start, access_len) && +- (pfn_valid(PFN_DOWN(mmap_start)))) ++ (nv_pfn_valid(PFN_DOWN(mmap_start)))) + { +--- a/nvidia/os-mlock.c ++++ b/nvidia/os-mlock.c +@@ -102,3 +102,3 @@ + if ((nv_follow_pfn(vma, (start + (i * PAGE_SIZE)), &pfn) < 0) || +- (!pfn_valid(pfn))) ++ (!nv_pfn_valid(pfn))) + { +@@ -176,3 +176,3 @@ + +- if (pfn_valid(pfn)) ++ if (nv_pfn_valid(pfn)) + { diff -Nru nvidia-graphics-drivers-535-server-535.154.05/debian/open-kernel/patches/buildfix_kernel_6.8-nv_drm_ioctls-DRM_UNLOCKED-is-now-the-default-behavi.patch nvidia-graphics-drivers-535-server-535.154.05/debian/open-kernel/patches/buildfix_kernel_6.8-nv_drm_ioctls-DRM_UNLOCKED-is-now-the-default-behavi.patch --- nvidia-graphics-drivers-535-server-535.154.05/debian/open-kernel/patches/buildfix_kernel_6.8-nv_drm_ioctls-DRM_UNLOCKED-is-now-the-default-behavi.patch 1970-01-01 00:00:00.000000000 +0000 +++ nvidia-graphics-drivers-535-server-535.154.05/debian/open-kernel/patches/buildfix_kernel_6.8-nv_drm_ioctls-DRM_UNLOCKED-is-now-the-default-behavi.patch 2024-02-05 08:33:36.000000000 +0000 @@ -0,0 +1,113 @@ +From 6730f510a023f23ac591dd9e153eaa5fc42ea3c9 Mon Sep 17 00:00:00 2001 +From: Paolo Pisati +Date: Tue, 6 Feb 2024 12:10:37 +0000 +Subject: [PATCH] nv_drm_ioctls: DRM_UNLOCKED is now the default behaviour + +Signed-off-by: Paolo Pisati +--- + nvidia-drm/nvidia-drm-drv.c | 42 +++++++++++-------- + 1 file changed, 24 insertions(+), 18 deletions(-) + +diff --git a/nvidia-drm/nvidia-drm-drv.c b/nvidia-drm/nvidia-drm-drv.c +index 62d557e7..d8638a3e 100644 +--- a/nvidia-drm/nvidia-drm-drv.c ++++ b/nvidia-drm/nvidia-drm-drv.c +@@ -1283,33 +1283,39 @@ static const struct file_operations nv_drm_fops = { + .llseek = noop_llseek, + }; + ++#if defined(DRM_UNLOCKED) ++#define __DRM_UNLOCKED DRM_UNLOCKED ++#else ++#define __DRM_UNLOCKED 0 ++#endif ++ + static const struct drm_ioctl_desc nv_drm_ioctls[] = { + #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE) + DRM_IOCTL_DEF_DRV(NVIDIA_GEM_IMPORT_NVKMS_MEMORY, + nv_drm_gem_import_nvkms_memory_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + #endif /* NV_DRM_ATOMIC_MODESET_AVAILABLE */ + + DRM_IOCTL_DEF_DRV(NVIDIA_GEM_IMPORT_USERSPACE_MEMORY, + nv_drm_gem_import_userspace_memory_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(NVIDIA_GEM_MAP_OFFSET, + nv_drm_gem_map_offset_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(NVIDIA_GET_DEV_INFO, + nv_drm_get_dev_info_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + + #if defined(NV_DRM_FENCE_AVAILABLE) + DRM_IOCTL_DEF_DRV(NVIDIA_FENCE_SUPPORTED, + nv_drm_fence_supported_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(NVIDIA_PRIME_FENCE_CONTEXT_CREATE, + nv_drm_prime_fence_context_create_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(NVIDIA_GEM_PRIME_FENCE_ATTACH, + nv_drm_gem_prime_fence_attach_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + #endif + + /* +@@ -1330,37 +1336,37 @@ static const struct drm_ioctl_desc nv_drm_ioctls[] = { + #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE) + DRM_IOCTL_DEF_DRV(NVIDIA_GET_CRTC_CRC32, + nv_drm_get_crtc_crc32_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(NVIDIA_GET_CRTC_CRC32_V2, + nv_drm_get_crtc_crc32_v2_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(NVIDIA_GEM_EXPORT_NVKMS_MEMORY, + nv_drm_gem_export_nvkms_memory_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(NVIDIA_GEM_ALLOC_NVKMS_MEMORY, + nv_drm_gem_alloc_nvkms_memory_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(NVIDIA_GEM_EXPORT_DMABUF_MEMORY, + nv_drm_gem_export_dmabuf_memory_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(NVIDIA_GEM_IDENTIFY_OBJECT, + nv_drm_gem_identify_object_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(NVIDIA_DMABUF_SUPPORTED, + nv_drm_dmabuf_supported_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(NVIDIA_GET_DPY_ID_FOR_CONNECTOR_ID, + nv_drm_get_dpy_id_for_connector_id_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(NVIDIA_GET_CONNECTOR_ID_FOR_DPY_ID, + nv_drm_get_connector_id_for_dpy_id_ioctl, +- DRM_RENDER_ALLOW|DRM_UNLOCKED), ++ DRM_RENDER_ALLOW|__DRM_UNLOCKED), + DRM_IOCTL_DEF_DRV(NVIDIA_GRANT_PERMISSIONS, + nv_drm_grant_permission_ioctl, +- DRM_UNLOCKED|DRM_MASTER), ++ __DRM_UNLOCKED|DRM_MASTER), + DRM_IOCTL_DEF_DRV(NVIDIA_REVOKE_PERMISSIONS, + nv_drm_revoke_permission_ioctl, +- DRM_UNLOCKED|DRM_MASTER), ++ __DRM_UNLOCKED|DRM_MASTER), + #endif /* NV_DRM_ATOMIC_MODESET_AVAILABLE */ + }; + +-- +2.43.0 + diff -Nru nvidia-graphics-drivers-535-server-535.154.05/debian/templates/dkms_nvidia.conf.in nvidia-graphics-drivers-535-server-535.154.05/debian/templates/dkms_nvidia.conf.in --- nvidia-graphics-drivers-535-server-535.154.05/debian/templates/dkms_nvidia.conf.in 2024-01-10 15:03:29.000000000 +0000 +++ nvidia-graphics-drivers-535-server-535.154.05/debian/templates/dkms_nvidia.conf.in 2024-02-05 08:33:36.000000000 +0000 @@ -13,6 +13,8 @@ DEST_MODULE_LOCATION[2]="/kernel/drivers/char/drm" AUTOINSTALL="yes" PATCH[0]="disable_fstack-clash-protection_fcf-protection.patch" +PATCH[1]="buildfix_kernel_6.8-nv_drm_ioctls-DRM_UNLOCKED-is-now-the-default-behavi.patch" +PATCH[2]="buildfix_kernel_6.8-gpl-pfn_valid.patch" # Apply from v4 to v5.12 kernels # v5.13 kernels already disable both by default # v5.19 kernels may need cf-protection=branch diff -Nru nvidia-graphics-drivers-535-server-535.154.05/debian/templates/dkms_nvidia_open.conf.in nvidia-graphics-drivers-535-server-535.154.05/debian/templates/dkms_nvidia_open.conf.in --- nvidia-graphics-drivers-535-server-535.154.05/debian/templates/dkms_nvidia_open.conf.in 2024-01-10 15:03:29.000000000 +0000 +++ nvidia-graphics-drivers-535-server-535.154.05/debian/templates/dkms_nvidia_open.conf.in 2024-02-05 08:33:36.000000000 +0000 @@ -14,6 +14,8 @@ AUTOINSTALL="yes" PATCH[0]="disable_fstack-clash-protection_fcf-protection.patch" # Apply from v4 to v5.12 kernels +PATCH[2]="buildfix_kernel_6.8-nv_drm_ioctls-DRM_UNLOCKED-is-now-the-default-behavi.patch" +PATCH[3]="buildfix_kernel_6.8-gpl-pfn_valid.patch" # v5.13 kernels already disable both by default # v5.19 kernels may need cf-protection=branch PATCH_MATCH[0]='^(4\.[0-9]*)|(5\.[0-9]\.0)|(5\.1[0-2]\.0)'