[From nobody Mon Oct 19 21:39:08 2026
Received: (at submit) by bugs.debian.org; 28 Sep 2026 14:56:52 +0000
X-Spam-Checker-Version: SpamAssassin 4.0.1-bugs.debian.org_2005_01_02
 (2024-03-25) on buxtehude.debian.org
X-Spam-Level: 
X-Spam-Status: No, score=-22.7 required=4.0 tests=BAYES_00,
 BODY_INCLUDES_PACKAGE,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,FOURLA,
 FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,FROMDEVELOPER,
 FVGT_m_MULTI_ODD,HAS_PACKAGE,HEADER_FROM_DIFFERENT_DOMAINS,
 MD5_SHA1_SUM,PGPSIGNATURE,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS
 autolearn=unavailable autolearn_force=no
 version=4.0.1-bugs.debian.org_2005_01_02
X-Spam-Bayes: score:0.0000 Tokens: new, 81; hammy, 150; neutral, 685; spammy,
 0. spammytokens: hammytokens:0.000-+--XDebbugsCc,
 0.000-+--X-Debbugs-Cc, 0.000-+--forky, 0.000-+--H*ct:application,
 0.000-+--H*ct:protocol
Return-path: &lt;paultag@gmail.com&gt;
Received: from mail-qv1-xf30.google.com ([2607:f8b0:4864:20::f30]:43162)
 by buxtehude.debian.org with esmtps
 (TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_128_GCM:128)
 (Exim 4.96) (envelope-from &lt;paultag@gmail.com&gt;) id 1xBCmh-0084ch-1O
 for submit@bugs.debian.org; Mon, 28 Sep 2026 14:56:52 +0000
Received: by mail-qv1-xf30.google.com with SMTP id
 6a1803df08f44-91449fd5f2bso1034416d6.0
 for &lt;submit@bugs.debian.org&gt;; Mon, 28 Sep 2026 07:56:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20251104; t=1790607409; x=1791212209; darn=bugs.debian.org;
 h=content-disposition:content-type:mime-version:message-id:subject:cc
 :to:from:date:sender:from:to:cc:subject:date:message-id:reply-to
 :content-type; bh=pnPtAv6WkEvdhH17M3nAsVJnLO3kuSbW8O2ayIc1Ju0=;
 b=X2uCpiJa8tLOcVMdwibQuo9eIGgg7GaVa6JzdHpBil6caEZE/1o0/FS9aTc9WozdCe
 fTT1te3FZsx23TFUH8S/EzL8I6QIRW/yOqNypQ9KfPbmSkpH+giyVNbnEUT3zdyQbwxV
 ixzgvxTm86HRcT4NruG9dUy1b7wCIWXCnAmMBBJOvHRVSKLV9jg/RcbOOn9aqYuVh7x5
 TCVlnJbj4PoM8T6yDfxryG3/Ddny4ZcqC+/VtX5SLapxKy2hqjGG1L8U0fp+LaCXifbW
 js7+PcJsHeQXUOPRjog48XS6p/9ff6kVozge+wDxFkl1LD6eea+/CEj3bIjLKh1ogWP7
 /QgA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20260707; t=1790607409; x=1791212209;
 h=content-disposition:content-type:mime-version:message-id:subject:cc
 :to:from:date:sender:x-gm-gg:x-gm-message-state:from:to:cc:subject
 :date:message-id:reply-to:content-type;
 bh=pnPtAv6WkEvdhH17M3nAsVJnLO3kuSbW8O2ayIc1Ju0=;
 b=dRdRT/PJYWveRpRGJNieuOnBBiltSH2cV8kCooQgrCT/6hWdTRr0ZeZkgrt0wXBKAa
 WijXtfIAefTIjhkTA+9XtNQ3ufYnU0cYrgSNNKOvxjxxVY+CxZPeIs3DZ72F49azdIR6
 j0QwQORke2hXLLq9JjEPI2DASRWWDOdTbjkZEeoCIUm1WL8/SNg8ELhP2zs4ukkowb4E
 YZyFnt4LUcRe9BPDHKzIwzdGwDtEUgigKBNPP1BWZf6vMPgZvl7h4gl1NHu/xpmdQhVr
 NFEHlPjQ0UFXNeIGCYszLEX/zJsasH0BzX1hnnlAUqa2CWLNHyrghY9l9j8uzVCWnOhN
 5obw==
X-Gm-Message-State: AFq9FYI9xh6xI677Lv+z0HMylMsJutnuXSpGAHcSaoiE22631i+/LF7N
 wJK+ufG4D4uR4mIq0RZYdAp0s6umn9iAYzrmWfSA96S30CnyuPAsdbvhXMnYPA==
X-Gm-Gg: AYBFou0fI/7FQMgI6HZFf2Vrkbpz8cjJ/i5jo+G34BdyMS3cKMAguWXqKGku09A2P5Z
 tO25Zf50p6RUGyWfXUdmBZ4fVbZpJ7HP9FvjXsltCyUzVXSJgkLHaPCqLaoY+HSuHSGtfn72fFW
 FRbfXF2S47CQfaRG5b81wVg64ZkgOcWtL9cZNYeRS9zHucVcypfm1e5GBX/Q+alw+GGR3YvT0gd
 aB91J/uLM9hG71z+PDP6lAh5eycaFnkQamZN5fyBLLlhiVxHEBWpWmm0Van/2h00eOeniRHkepB
 jSXofqs/8z/a9cH2Pyd/nkr1x7MMub/cRhAojBuLIGjnQsHhiGCtzagbtoOHZuZkEDfTYZXFNat
 d2eyf/d3qLiQG4JvOf8ifYiq9izI9OHkK1Ndd3eNzqw3mgXqMd3tTf0HMTwbmmKXZRIKhnk9ny4
 bgIHfhEDmVWsXay37lQEPf2vhu7CZRXauGk4QyAkIWf2h3woiQ159wt7QUo71coy1F1IHJ/x/rU
 YmAa3p6g2Z4IRpfwIZe0PT6/nYii/kFHghPhjNHZBFKvt2wEeUmV/+8iz00iHnehxcfsosgo5+a
 z97JL+77adZfL2b4y3TPVb4BoU9Gsmt3DcwzDifuIqq8SZo6G9cdpWrm
X-Received: by 2002:a05:6214:5286:b0:914:4c57:5103 with SMTP id
 6a1803df08f44-9144c5783d2mr122091036d6.8.1790607409173; 
 Mon, 28 Sep 2026 07:56:49 -0700 (PDT)
Received: from mynydd.haus (pool-100-15-231-89.washdc.fios.verizon.net.
 [100.15.231.89]) by smtp.gmail.com with ESMTPSA id
 6a1803df08f44-91430db38d0sm82463096d6.17.2026.09.28.07.56.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 28 Sep 2026 07:56:48 -0700 (PDT)
Sender: &quot;Paul R. Tagliamonte&quot; &lt;paultag@gmail.com&gt;
Date: Mon, 28 Sep 2026 10:56:46 -0400
From: Paul Tagliamonte &lt;paultag@debian.org&gt;
To: submit@bugs.debian.org
Cc: 1148493@bugs.debian.org, 1148494@bugs.debian.org, 1148495@bugs.debian.org
Subject: nvidia-graphics-drivers-tesla: dkms ftbfs due to kernel 7
Message-ID: &lt;20260928145543.GA2279139@dc.cant.vote&gt;
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol=&quot;application/pgp-signature&quot;; boundary=&quot;1Je8bSflrqPPLAa9&quot;
Content-Disposition: inline
X-Hack-The-Planet: Yes
Delivered-To: submit@bugs.debian.org
X-CrossAssassin-Score: 2

--1Je8bSflrqPPLAa9
Content-Type: multipart/mixed; boundary=&quot;T0C72sXo5ZQmNFLi&quot;
Content-Disposition: inline

--T0C72sXo5ZQmNFLi
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Package: nvidia-graphics-drivers-tesla-550
Severity: important
X-Debbugs-Cc: paultag@debian.org
Tags: patch
thanks

I was wondering why my dkms yolo-patch didn't match what i submitted=20
to the tesla src package, and I realized that the 550 version was split=20
into its own src package.

attached is a debdiff for that src package too. same caviats apply, and=20
same patches for the most part.

   paultag

--=20
   =E2=A2=80=E2=A3=B4=E2=A0=BE=E2=A0=BB=E2=A2=B6=E2=A3=A6=E2=A0=80         =
      Paul Tagliamonte &lt;paultag&gt;
   =E2=A3=BE=E2=A0=81=E2=A2=A0=E2=A0=92=E2=A0=80=E2=A3=BF=E2=A1=81  https:/=
/people.debian.org/~paultag | https://pault.ag/
   =E2=A2=BF=E2=A1=84=E2=A0=98=E2=A0=B7=E2=A0=9A=E2=A0=8B        Debian, th=
e universal operating system.
   =E2=A0=88=E2=A0=B3=E2=A3=84=E2=A0=80=E2=A0=80  4096R / FEF2 EB20 16E6 A8=
56 B98C  E820 2DCD 6B5D E858 ADF3

--T0C72sXo5ZQmNFLi
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment;
	filename=nvidia-graphics-drivers-tesla-550.debdiff
Content-Transfer-Encoding: quoted-printable

diff -Nru nvidia-graphics-drivers-tesla-550-550.54.15/debian/changelog nvid=
ia-graphics-drivers-tesla-550-550.54.15/debian/changelog
--- nvidia-graphics-drivers-tesla-550-550.54.15/debian/changelog	2026-03-11=
 00:36:02.000000000 -0400
+++ nvidia-graphics-drivers-tesla-550-550.54.15/debian/changelog	2026-09-28=
 10:30:43.000000000 -0400
@@ -1,3 +1,10 @@
+nvidia-graphics-drivers-tesla-550 (550.54.15-4.1) UNRELEASED; urgency=3Dme=
dium
+
+  * Non-maintainer upload.
+  * Port patches
+
+ -- Paul Tagliamonte &lt;paultag@debian.org&gt;  Mon, 28 Sep 2026 10:30:43 -0400
+
 nvidia-graphics-drivers-tesla-550 (550.54.15-4) unstable; urgency=3Dmedium
=20
   * Backport drm_print.h changes from 570.211.01, for_each_*_*_in_state and
diff -Nru nvidia-graphics-drivers-tesla-550-550.54.15/debian/patches/module=
/0084-backport-vma-locking-changes-from-595.44.03.patch nvidia-graphics-dri=
vers-tesla-550-550.54.15/debian/patches/module/0084-backport-vma-locking-ch=
anges-from-595.44.03.patch
--- nvidia-graphics-drivers-tesla-550-550.54.15/debian/patches/module/0084-=
backport-vma-locking-changes-from-595.44.03.patch	1969-12-31 19:00:00.00000=
0000 -0500
+++ nvidia-graphics-drivers-tesla-550-550.54.15/debian/patches/module/0084-=
backport-vma-locking-changes-from-595.44.03.patch	2026-09-28 10:30:43.00000=
0000 -0400
@@ -0,0 +1,125 @@
+From 0000000000000000000000000000000000000001 Mon Sep 17 00:00:00 2001
+From: Dominique Belhachemi &lt;domibel@debian.org&gt;
+Date: Sun, 07 Jun 2026 10:50:36 -0400
+Subject: [PATCH] backport vma locking changes from 595.44.03
+
+Kernel 7.0 renamed VMA_LOCK_OFFSET to VM_REFCNT_EXCLUDE_READERS_FLAG
+and dropped the mm_lock_seq argument from __is_vma_write_locked().
+
+Backported from open-gpu-kernel-modules 595.44.03:
+  https://github.com/NVIDIA/open-gpu-kernel-modules/commit/667aaff6
+
+Refreshed patch on 2026-09-21 for the tesla driver (paultag@debian.org)
+
+--- a/common/inc/nv-mm.h
++++ b/common/inc/nv-mm.h
+@@ -326,6 +326,17 @@ static inline void nv_vma_flags_clear_word(struct vm_=
area_struct *vma, unsigned
+     ACCESS_PRIVATE(vma, __vm_flags) &amp;=3D ~flags;
+ #endif
+ }
++
++static inline int nv_is_vma_write_locked(struct vm_area_struct *vma,
++                                         unsigned int *mm_lock_seq)
++{
++#if defined(NV_IS_VMA_WRITE_LOCKED_HAS_MM_LOCK_SEQ_ARG)
++    return __is_vma_write_locked(vma, mm_lock_seq);
++#else
++    *mm_lock_seq =3D __vma_raw_mm_seqnum(vma);
++    return __is_vma_write_locked(vma);
++#endif
++}
+ #endif // !NV_CAN_CALL_VMA_START_WRITE
+=20
+ static inline void nv_vm_flags_set(struct vm_area_struct *vma, vm_flags_t=
 flags)
+--- a/conftest.sh
++++ b/conftest.sh
+@@ -907,6 +907,26 @@ compile_test() {
+             compile_check_conftest &quot;$CODE&quot; &quot;NV_VM_FAULT_HAS_ADDRESS&quot; &quot;&quot; &quot;=
types&quot;
+         ;;
+=20
++        is_vma_write_locked_has_mm_lock_seq_arg)
++            #
++            # Determine if __is_vma_write_locked() takes only a single
++            # 'struct vm_area_struct *' argument.
++            #
++            # Removed the 'unsigned int *mm_lock_seq' parameter by commit
++            # 22f7639f2f03 (&quot;mm/vma: improve and document
++            # __is_vma_write_locked()&quot;) in v7.0-rc1.
++            #
++            CODE=3D&quot;
++            #include &lt;linux/mm.h&gt;
++            #include &lt;linux/mmap_lock.h&gt;
++            int conftest_is_vma_write_locked_has_mm_lock_seq_arg(struct v=
m_area_struct *vma) {
++                unsigned int mm_lock_seq;
++                return __is_vma_write_locked(vma, &amp;mm_lock_seq);
++            }&quot;
++
++            compile_check_conftest &quot;$CODE&quot; &quot;NV_IS_VMA_WRITE_LOCKED_HAS_MM=
_LOCK_SEQ_ARG&quot; &quot;&quot; &quot;types&quot;
++        ;;
++
+         kmem_cache_has_kobj_remove_work)
+             #
+             # Determine if the 'kmem_cache' structure has 'kobj_remove_wo=
rk'.
+--- a/nvidia/nv-mmap.c
++++ b/nvidia/nv-mmap.c
+@@ -834,15 +834,21 @@ void NV_API_CALL nv_set_safe_to_mmap_locked(
+ }
+=20
+ #if !NV_CAN_CALL_VMA_START_WRITE
++#if defined(VM_REFCNT_EXCLUDE_READERS_FLAG)
++#define NV_VMA_LOCK_OFFSET VM_REFCNT_EXCLUDE_READERS_FLAG
++#else
++#define NV_VMA_LOCK_OFFSET VMA_LOCK_OFFSET
++#endif
++
+ static NvBool nv_vma_enter_locked(struct vm_area_struct *vma, NvBool deta=
ching)
+ {
+-    NvU32 tgt_refcnt =3D VMA_LOCK_OFFSET;
++    NvU32 tgt_refcnt =3D NV_VMA_LOCK_OFFSET;
+     NvBool interrupted =3D NV_FALSE;
+     if (!detaching)
+     {
+         tgt_refcnt++;
+     }
+-    if (!refcount_add_not_zero(VMA_LOCK_OFFSET, &amp;vma-&gt;vm_refcnt))
++    if (!refcount_add_not_zero(NV_VMA_LOCK_OFFSET, &amp;vma-&gt;vm_refcnt))
+     {
+         return NV_FALSE;
+     }
+@@ -872,7 +878,7 @@ static NvBool nv_vma_enter_locked(struct vm_area_struc=
t *vma, NvBool detaching)
+     if (interrupted)
+     {
+         // Clean up on error: release refcount and dep_map
+-        refcount_sub_and_test(VMA_LOCK_OFFSET, &amp;vma-&gt;vm_refcnt);
++        refcount_sub_and_test(NV_VMA_LOCK_OFFSET, &amp;vma-&gt;vm_refcnt);
+         rwsem_release(&amp;vma-&gt;vmlock_dep_map, _RET_IP_);
+         return NV_FALSE;
+     }
+@@ -888,7 +894,7 @@ void nv_vma_start_write(struct vm_area_struct *vma)
+ {
+     NvU32 mm_lock_seq;
+     NvBool locked;
+-    if (__is_vma_write_locked(vma, &amp;mm_lock_seq))
++    if (nv_is_vma_write_locked(vma, &amp;mm_lock_seq))
+         return;
+=20
+     locked =3D nv_vma_enter_locked(vma, NV_FALSE);
+@@ -897,7 +903,7 @@ void nv_vma_start_write(struct vm_area_struct *vma)
+     if (locked)
+     {
+         NvBool detached;
+-        detached =3D refcount_sub_and_test(VMA_LOCK_OFFSET, &amp;vma-&gt;vm_refc=
nt);
++        detached =3D refcount_sub_and_test(NV_VMA_LOCK_OFFSET, &amp;vma-&gt;vm_r=
efcnt);
+         rwsem_release(&amp;vma-&gt;vmlock_dep_map, _RET_IP_);
+         WARN_ON_ONCE(detached);
+     }
+--- a/nvidia/nvidia.Kbuild
++++ b/nvidia/nvidia.Kbuild
+@@ -241,6 +241,7 @@ NV_CONFTEST_TYPE_COMPILE_TESTS +=3D dma_ops
+ NV_CONFTEST_TYPE_COMPILE_TESTS +=3D swiotlb_dma_ops
+ NV_CONFTEST_TYPE_COMPILE_TESTS +=3D noncoherent_swiotlb_dma_ops
+ NV_CONFTEST_TYPE_COMPILE_TESTS +=3D vm_fault_has_address
++NV_CONFTEST_TYPE_COMPILE_TESTS +=3D is_vma_write_locked_has_mm_lock_seq_a=
rg
+ NV_CONFTEST_TYPE_COMPILE_TESTS +=3D vm_insert_pfn_prot
+ NV_CONFTEST_TYPE_COMPILE_TESTS +=3D vmf_insert_pfn_prot
+ NV_CONFTEST_TYPE_COMPILE_TESTS +=3D vm_ops_fault_removed_vma_arg
diff -Nru nvidia-graphics-drivers-tesla-550-550.54.15/debian/patches/module=
/0085-fix-dma-fence-and-pahole-awk-shim-for-linux-7.0.patch nvidia-graphics=
-drivers-tesla-550-550.54.15/debian/patches/module/0085-fix-dma-fence-and-p=
ahole-awk-shim-for-linux-7.0.patch
--- nvidia-graphics-drivers-tesla-550-550.54.15/debian/patches/module/0085-=
fix-dma-fence-and-pahole-awk-shim-for-linux-7.0.patch	1969-12-31 19:00:00.0=
00000000 -0500
+++ nvidia-graphics-drivers-tesla-550-550.54.15/debian/patches/module/0085-=
fix-dma-fence-and-pahole-awk-shim-for-linux-7.0.patch	2026-09-28 10:30:43.0=
00000000 -0400
@@ -0,0 +1,53 @@
+From 0000000000000000000000000000000000000002 Mon Sep 17 00:00:00 2001
+From: Dominique Belhachemi &lt;domibel@debian.org&gt;
+Date: Sun, 07 Jun 2026 10:50:36 -0400
+Subject: [PATCH] fix dma-fence void return and PAHOLE awk shim for Linux 7=
=2E0
+
+Kernel 7.0 changed dma_fence_signal() and dma_fence_signal_locked() from
+int to void.
+
+Kernel 7.0 replaced scripts/pahole-flags.sh with scripts/Makefile.btf
+and a new gen-btf.sh that invokes $PAHOLE directly.
+Maybe add it to 0062-Support-BTF-generation-for-non-release-builds.patch
+---
+--- a/Makefile	2026-06-06 15:22:14.734665167 -0400
++++ b/Makefile	2026-06-06 15:34:42.199977198 -0400
+@@ -95,6 +95,9 @@
+   # If scripts/pahole-flags.sh is not present in the kernel tree, add PAH=
OLE and
+   # PAHOLE_AWK_PROGRAM assignments to PAHOLE_VARIABLES; otherwise assign =
the
+   # empty string to PAHOLE_VARIABLES.
++  # Also check for scripts/Makefile.btf, which replaces pahole-flags.sh i=
n 7.0+.
++  NV_KERNEL_PAHOLE_SCRIPT :=3D $(or $(wildcard $(KERNEL_SOURCES)/scripts/=
pahole-flags.sh), \
++                                  $(wildcard $(KERNEL_SOURCES)/scripts/Ma=
kefile.btf))
+-  PAHOLE_VARIABLES=3D$(if $(wildcard $(KERNEL_SOURCES)/scripts/pahole-fla=
gs.sh),,&quot;PAHOLE=3D$(AWK) '$(PAHOLE_AWK_PROGRAM)'&quot;)
++  PAHOLE_VARIABLES =3D $(if $(NV_KERNEL_PAHOLE_SCRIPT),,&quot;PAHOLE=3D$(AWK) =
'$(PAHOLE_AWK_PROGRAM)'&quot;)
+=20
+   ifndef ARCH
+--- a/nvidia-drm/nvidia-dma-fence-helper.h	2025-04-08 08:08:05.000000000 -=
0400
++++ b/nvidia-drm/nvidia-dma-fence-helper.h	2026-06-06 15:34:42.196800051 -=
0400
+@@ -93,19 +93,19 @@
+ #endif
+ }
+
+-static inline int nv_dma_fence_signal(nv_dma_fence_t *fence) {
++static inline void nv_dma_fence_signal(nv_dma_fence_t *fence) {
+ #if defined(NV_LINUX_FENCE_H_PRESENT)
+-    return fence_signal(fence);
++    fence_signal(fence);
+ #else
+-    return dma_fence_signal(fence);
++    dma_fence_signal(fence);
+ #endif
+ }
+
+-static inline int nv_dma_fence_signal_locked(nv_dma_fence_t *fence) {
++static inline void nv_dma_fence_signal_locked(nv_dma_fence_t *fence) {
+ #if defined(NV_LINUX_FENCE_H_PRESENT)
+-    return fence_signal_locked(fence);
++    fence_signal_locked(fence);
+ #else
+-    return dma_fence_signal_locked(fence);
++    dma_fence_signal_locked(fence);
+ #endif
+ }
+
diff -Nru nvidia-graphics-drivers-tesla-550-550.54.15/debian/patches/module=
/0086-add-MODULE_DESCRIPTION.patch nvidia-graphics-drivers-tesla-550-550.54=
=2E15/debian/patches/module/0086-add-MODULE_DESCRIPTION.patch
--- nvidia-graphics-drivers-tesla-550-550.54.15/debian/patches/module/0086-=
add-MODULE_DESCRIPTION.patch	1969-12-31 19:00:00.000000000 -0500
+++ nvidia-graphics-drivers-tesla-550-550.54.15/debian/patches/module/0086-=
add-MODULE_DESCRIPTION.patch	2026-09-28 10:30:43.000000000 -0400
@@ -0,0 +1,50 @@
+From 0000000000000000000000000000000000000003 Mon Sep 17 00:00:00 2001
+From: Dominique Belhachemi &lt;domibel@debian.org&gt;
+Date: Sun, 07 Jun 2026 10:50:36 -0400
+Subject: [PATCH] add MODULE_DESCRIPTION to all kernel modules
+
+Forky uses CONFIG_MODULE_ALLOW_MISSING_MODULE_DESCRIPTION=3Dn,
+causing modules without MODULE_DESCRIPTION to fail to load.
+
+Strings taken verbatim from open-gpu-kernel-modules 595.44.06:
+  https://github.com/NVIDIA/open-gpu-kernel-modules/commit/07dedd6f
+---
+--- a/nvidia/nv.c	2026-06-06 15:22:14.717161978 -0400
++++ b/nvidia/nv.c	2026-06-06 15:34:18.279603577 -0400
+@@ -113,6 +113,7 @@
+ #define RM_UNHANDLED_TIMEOUT_US          100000
+=20
+ MODULE_LICENSE(&quot;NVIDIA&quot;);
++MODULE_DESCRIPTION(&quot;NVIDIA core GPU kernel module&quot;);
+=20
+ MODULE_INFO(supported, &quot;external&quot;);
+ MODULE_VERSION(NV_VERSION_STRING);
+--- a/nvidia-drm/nvidia-drm-linux.c	2025-04-08 08:08:01.000000000 -0400
++++ b/nvidia-drm/nvidia-drm-linux.c	2026-06-06 15:34:18.281194502 -0400
+@@ -61,6 +61,7 @@
+ module_exit(nv_linux_drm_exit);
+=20
+   MODULE_LICENSE(&quot;MIT&quot;);
++  MODULE_DESCRIPTION(&quot;NVIDIA DRM kernel module&quot;);
+=20
+ MODULE_INFO(supported, &quot;external&quot;);
+ MODULE_VERSION(NV_VERSION_STRING);
+--- a/nvidia-modeset/nvidia-modeset-linux.c	2026-06-06 15:22:14.716848194 =
-0400
++++ b/nvidia-modeset/nvidia-modeset-linux.c	2026-06-06 15:34:18.282202308 =
-0400
+@@ -1843,6 +1843,7 @@
+ module_exit(nvkms_exit);
+=20
+   MODULE_LICENSE(&quot;NVIDIA&quot;);
++  MODULE_DESCRIPTION(&quot;NVIDIA modeset kernel module&quot;);
+=20
+ MODULE_INFO(supported, &quot;external&quot;);
+ MODULE_VERSION(NV_VERSION_STRING);
+--- a/nvidia-uvm/uvm.c	2025-04-08 09:05:04.000000000 -0400
++++ b/nvidia-uvm/uvm.c	2026-06-06 15:34:18.283479730 -0400
+@@ -1193,5 +1193,6 @@
+ module_exit(uvm_exit_entry);
+=20
+ MODULE_LICENSE(&quot;Dual MIT/GPL&quot;);
++MODULE_DESCRIPTION(&quot;NVIDIA Unified Virtual Memory kernel module&quot;);
+ MODULE_INFO(supported, &quot;external&quot;);
+ MODULE_VERSION(NV_VERSION_STRING);
diff -Nru nvidia-graphics-drivers-tesla-550-550.54.15/debian/patches/module=
/0086-strncpy-to-strscpy.patch nvidia-graphics-drivers-tesla-550-550.54.15/=
debian/patches/module/0086-strncpy-to-strscpy.patch
--- nvidia-graphics-drivers-tesla-550-550.54.15/debian/patches/module/0086-=
strncpy-to-strscpy.patch	1969-12-31 19:00:00.000000000 -0500
+++ nvidia-graphics-drivers-tesla-550-550.54.15/debian/patches/module/0086-=
strncpy-to-strscpy.patch	2026-09-28 10:30:43.000000000 -0400
@@ -0,0 +1,55 @@
+--- a/nvidia/os-interface.c
++++ b/nvidia/os-interface.c
+@@ -741,7 +741,7 @@ NvU32 NV_API_CALL os_get_current_process(void)
+ void NV_API_CALL os_get_current_process_name(char *buf, NvU32 len)
+ {
+     task_lock(current);
+-    strncpy(buf, current-&gt;comm, len - 1);
++    strscpy(buf, current-&gt;comm, len - 1);
+     buf[len - 1] =3D '\0';
+     task_unlock(current);
+ }
+--- a/nvidia-modeset/nvidia-modeset-linux.c
++++ b/nvidia-modeset/nvidia-modeset-linux.c
+@@ -292,7 +292,8 @@ int nvkms_strcmp(const char *s1, const char *s2)
+=20
+ char* nvkms_strncpy(char *dest, const char *src, size_t n)
+ {
+-    return strncpy(dest, src, n);
++    strscpy(dest, src, n);
++    return dest;
+ }
+=20
+ void nvkms_usleep(NvU64 usec)
+--- a/nvidia-uvm/uvm_pmm_gpu.c
++++ b/nvidia-uvm/uvm_pmm_gpu.c
+@@ -2987,7 +2987,7 @@ static NV_STATUS init_chunk_split_cache_level(uvm_pm=
m_gpu_t *pmm, size_t level)
+             size_t size;
+             size_t align;
+             if (level =3D=3D 0) {
+-                strncpy(chunk_split_cache[level].name, &quot;uvm_gpu_chunk_t&quot;,=
 sizeof(chunk_split_cache[level].name) - 1);
++                strscpy(chunk_split_cache[level].name, &quot;uvm_gpu_chunk_t&quot;,=
 sizeof(chunk_split_cache[level].name) - 1);
+                 size =3D sizeof(uvm_gpu_chunk_t);
+                 align =3D __alignof__(uvm_gpu_chunk_t);
+             } else {
+--- a/nvidia/linux_nvswitch.c
++++ b/nvidia/linux_nvswitch.c
+@@ -2025,7 +2025,7 @@ nvswitch_os_read_registry_dword
+         return -NVL_ERR_GENERIC;
+     }
+=20
+-    strncpy(regkey_val, regkey_val_start, regkey_val_len);
++    strscpy(regkey_val, regkey_val_start, regkey_val_len);
+     regkey_val[regkey_val_len] =3D '\0';
+=20
+     if (nvswitch_os_strtouint(regkey_val, data) !=3D 0)
+@@ -2380,7 +2380,8 @@ nvswitch_os_strncpy
+     NvLength length
+ )
+ {
+-    return strncpy(dest, src, length);
++    strscpy(dest, src, length);
++    return dest;
+ }
+=20
+ int
diff -Nru nvidia-graphics-drivers-tesla-550-550.54.15/debian/patches/module=
/0088-drm-atomic.patch nvidia-graphics-drivers-tesla-550-550.54.15/debian/p=
atches/module/0088-drm-atomic.patch
--- nvidia-graphics-drivers-tesla-550-550.54.15/debian/patches/module/0088-=
drm-atomic.patch	1969-12-31 19:00:00.000000000 -0500
+++ nvidia-graphics-drivers-tesla-550-550.54.15/debian/patches/module/0088-=
drm-atomic.patch	2026-09-28 10:30:43.000000000 -0400
@@ -0,0 +1,130 @@
+diff --git a/conftest.sh b/conftest.sh
+index ef1adc3..26599aa 100644
+--- a/conftest.sh
++++ b/conftest.sh
+@@ -1988,6 +1988,21 @@ compile_test() {
+             fi
+         ;;
+=20
++        drm_atomic_commit)
++            #
++            # DRM atomic transactions were renamed from drm_atomic_state =
to
++            # drm_atomic_commit in Linux 7.2. Detect the new object inste=
ad of
++            # relying on a kernel version, since distributions may backpo=
rt it.
++            #
++            CODE=3D&quot;
++            #include &lt;drm/drm_atomic.h&gt;
++            void conftest_drm_atomic_commit(void) {
++                sizeof(struct drm_atomic_commit);
++            }&quot;
++
++            compile_check_conftest &quot;$CODE&quot; &quot;NV_DRM_ATOMIC_COMMIT_PRESENT&quot;=
 &quot;&quot; &quot;generic&quot;
++        ;;
++
+         drm_bus_present)
+             #
+             # Determine if the 'struct drm_bus' type is present.
+diff --git a/nvidia-drm/nvidia-drm-conftest.h b/nvidia-drm/nvidia-drm-conf=
test.h
+index d327460..8b117be 100644
+--- a/nvidia-drm/nvidia-drm-conftest.h
++++ b/nvidia-drm/nvidia-drm-conftest.h
+@@ -26,6 +26,19 @@
+ #include &quot;conftest.h&quot;
+ #include &quot;nvtypes.h&quot;
+=20
++/* Linux 7.2 renamed the DRM atomic transaction object and its helpers. */
++#if defined(NV_DRM_ATOMIC_COMMIT_PRESENT)
++#define drm_atomic_state                 drm_atomic_commit
++#define drm_atomic_state_alloc           drm_atomic_commit_alloc
++#define drm_atomic_state_clear           drm_atomic_commit_clear
++#define drm_atomic_state_default_clear   drm_atomic_commit_default_clear
++#define drm_atomic_state_default_release drm_atomic_commit_default_release
++#define drm_atomic_state_free            drm_atomic_commit_put
++#define drm_atomic_state_get             drm_atomic_commit_get
++#define drm_atomic_state_init            drm_atomic_commit_init
++#define drm_atomic_state_put             drm_atomic_commit_put
++#endif
++
+ /*
+  * NOTE: This file is expected to get included at the top before includin=
g any
+  * of linux/drm headers.
+diff --git a/nvidia-drm/nvidia-drm-crtc.c b/nvidia-drm/nvidia-drm-crtc.c
+index 2dfd3e4..2009440 100644
+--- a/nvidia-drm/nvidia-drm-crtc.c
++++ b/nvidia-drm/nvidia-drm-crtc.c
+@@ -585,7 +585,8 @@ static int __nv_drm_cursor_atomic_check(struct drm_pla=
ne *plane,
+     return 0;
+ }
+=20
+-#if defined(NV_DRM_PLANE_ATOMIC_CHECK_HAS_ATOMIC_STATE_ARG)
++#if defined(NV_DRM_PLANE_ATOMIC_CHECK_HAS_ATOMIC_STATE_ARG) || \
++    defined(NV_DRM_ATOMIC_COMMIT_PRESENT)
+ static int nv_drm_plane_atomic_check(struct drm_plane *plane,
+                                      struct drm_atomic_state *state)
+ #else
+@@ -594,7 +595,8 @@ static int nv_drm_plane_atomic_check(struct drm_plane =
*plane,
+ #endif
+ {
+     struct nv_drm_plane *nv_plane =3D to_nv_plane(plane);
+-#if defined(NV_DRM_PLANE_ATOMIC_CHECK_HAS_ATOMIC_STATE_ARG)
++#if defined(NV_DRM_PLANE_ATOMIC_CHECK_HAS_ATOMIC_STATE_ARG) || \
++    defined(NV_DRM_ATOMIC_COMMIT_PRESENT)
+     struct drm_plane_state *plane_state =3D
+         drm_atomic_get_new_plane_state(state, plane);
+ #endif
+@@ -1170,7 +1172,8 @@ fail:
+  * the 'nv_drm_crtc_state::req_config', that is fine because 'nv_drm_crtc=
_state'
+  * will be discarded if -&gt;atomic_check() fails.
+  */
+-#if defined(NV_DRM_CRTC_ATOMIC_CHECK_HAS_ATOMIC_STATE_ARG)
++#if defined(NV_DRM_CRTC_ATOMIC_CHECK_HAS_ATOMIC_STATE_ARG) || \
++    defined(NV_DRM_ATOMIC_COMMIT_PRESENT)
+ static int nv_drm_crtc_atomic_check(struct drm_crtc *crtc,
+                                     struct drm_atomic_state *state)
+ #else
+@@ -1178,7 +1181,8 @@ static int nv_drm_crtc_atomic_check(struct drm_crtc =
*crtc,
+                                     struct drm_crtc_state *crtc_state)
+ #endif
+ {
+-#if defined(NV_DRM_CRTC_ATOMIC_CHECK_HAS_ATOMIC_STATE_ARG)
++#if defined(NV_DRM_CRTC_ATOMIC_CHECK_HAS_ATOMIC_STATE_ARG) || \
++    defined(NV_DRM_ATOMIC_COMMIT_PRESENT)
+     struct drm_crtc_state *crtc_state =3D
+         drm_atomic_get_new_crtc_state(state, crtc);
+ #endif
+diff --git a/nvidia-drm/nvidia-drm-modeset.c b/nvidia-drm/nvidia-drm-modes=
et.c
+index c6488cd..58c9e8c 100644
+--- a/nvidia-drm/nvidia-drm-modeset.c
++++ b/nvidia-drm/nvidia-drm-modeset.c
+@@ -463,7 +463,8 @@ int nv_drm_atomic_commit(struct drm_device *dev,
+         }
+     }
+=20
+-#if defined(NV_DRM_ATOMIC_HELPER_SWAP_STATE_HAS_STALL_ARG)
++#if defined(NV_DRM_ATOMIC_HELPER_SWAP_STATE_HAS_STALL_ARG) || \
++    defined(NV_DRM_ATOMIC_COMMIT_PRESENT)
+=20
+     /*
+      * nv_drm_atomic_commit_internal()
+@@ -475,7 +476,8 @@ int nv_drm_atomic_commit(struct drm_device *dev,
+      * expected.
+      */
+=20
+-#if defined(NV_DRM_ATOMIC_HELPER_SWAP_STATE_RETURN_INT)
++#if defined(NV_DRM_ATOMIC_HELPER_SWAP_STATE_RETURN_INT) || \
++    defined(NV_DRM_ATOMIC_COMMIT_PRESENT)
+     ret =3D drm_atomic_helper_swap_state(state, false /* stall */);
+     if (WARN_ON(ret !=3D 0)) {
+         return ret;
+diff --git a/nvidia-drm/nvidia-drm-sources.mk b/nvidia-drm/nvidia-drm-sour=
ces.mk
+index 35905e9..1684e91 100644
+--- a/nvidia-drm/nvidia-drm-sources.mk
++++ b/nvidia-drm/nvidia-drm-sources.mk
+@@ -32,6 +32,7 @@ NVIDIA_DRM_SOURCES +=3D nvidia-drm/nvidia-drm-os-interfa=
ce.c
+=20
+ NV_CONFTEST_GENERIC_COMPILE_TESTS +=3D drm_available
+ NV_CONFTEST_GENERIC_COMPILE_TESTS +=3D drm_atomic_available
++NV_CONFTEST_GENERIC_COMPILE_TESTS +=3D drm_atomic_commit
+ NV_CONFTEST_GENERIC_COMPILE_TESTS +=3D is_export_symbol_gpl_refcount_inc
+ NV_CONFTEST_GENERIC_COMPILE_TESTS +=3D is_export_symbol_gpl_refcount_dec_=
and_test
+ NV_CONFTEST_GENERIC_COMPILE_TESTS +=3D drm_alpha_blending_available
diff -Nru nvidia-graphics-drivers-tesla-550-550.54.15/debian/patches/module=
/series nvidia-graphics-drivers-tesla-550-550.54.15/debian/patches/module/s=
eries
--- nvidia-graphics-drivers-tesla-550-550.54.15/debian/patches/module/serie=
s	2026-03-11 00:36:02.000000000 -0400
+++ nvidia-graphics-drivers-tesla-550-550.54.15/debian/patches/module/serie=
s	2026-09-28 10:30:43.000000000 -0400
@@ -47,6 +47,11 @@
 0081-support-fallback-for-for_each_-_plane_in_state.patch
 0082-backport-for_each_-_crtc_in_state-changes-from-580.1.patch
 0083-support-fallback-for-for_each_-_crtc_in_state.patch
+0084-backport-vma-locking-changes-from-595.44.03.patch
+0085-fix-dma-fence-and-pahole-awk-shim-for-linux-7.0.patch
+0086-add-MODULE_DESCRIPTION.patch
+0086-strncpy-to-strscpy.patch
+0088-drm-atomic.patch
=20
 # build system updates
 conftest-verbose.patch

--T0C72sXo5ZQmNFLi--

--1Je8bSflrqPPLAa9
Content-Type: application/pgp-signature; name=signature.asc

-----BEGIN PGP SIGNATURE-----

iQEzBAABCgAdFiEE8rctyP6kE7DHa+fOytLPCmgIXzIFAmq6gCoACgkQytLPCmgI
XzKqMAf+OGvWwnZXEbD3Vmv+nJyPAJl9KhMsmQ+ClihpCe8h21rd3CYNlKlN3JTb
6VjJHjMYkZEzXKdLzRBwpD7bBdnW2mM0Z+DQYJjlp+Ofaj6Zabuqay1Alr4h0tUg
JFCAxRJ14joeaqH+7EyK5yPtK8rvFN31awoh3SnePHRAxJt8BxA8GhuNPF0xtFPQ
ox3BAWmpj9tzu0qD8T8AdzxSn3o9Ii877SovJ2qy8axrS9ZJ7GxuWDzh+sSeLaA3
lnIQVmf6RAGOCu4QkcPhhRyjFKA8EDjccCQK8FXImkG37BvgpT0Ppl609nowfWUj
ntbyXM4bd5GRm472i+ga0whs1jFsow==
=ES8O
-----END PGP SIGNATURE-----

--1Je8bSflrqPPLAa9--
]