Followup-For: Bug #1039738
here comes the forgotten diff
diff --git a/debian/README.source b/debian/README.source index 05196920..f12ec8c5 100644 --- a/debian/README.source +++ b/debian/README.source @@ -33,7 +33,7 @@ Upstream support timeframes Tesla 460 (PB) 01/2022 EoL Tesla 470 (LTSB) 07/2024 Tesla 510 (PB) 01/2023 EoL - Tesla 515 (PB) 05/2023 + Tesla 515 (PB) 05/2023 EoL Tesla 525 (PB) 12/2023 @@ -67,20 +67,12 @@ The branch structure in the GIT repository 460-tesla EoL (bullseye) 470-tesla, tesla-460/main tesla-460/main EoL (bullseye),(sid) tesla-470/main, tesla-460/transition-470 tesla-460/transition-470 bullseye,sid - 470 bullseye 510, 470-tesla - 470-tesla (bullseye) 510-tesla, tesla-470/main - tesla-470/main bullseye,bookworm,sid tesla-510/main - 510 EoL (bookworm),sid 515, 510-tesla - 510-tesla EoL (bookworm) 515-tesla, tesla-510/main - tesla-510/main EoL (bookworm),(sid) tesla/510, tesla-510/transition - tesla-510/transition sid - tesla/510 EoL (bookworm),sid tesla/515 - 515 (bookworm),sid 525, 515-tesla - 515-tesla (bookworm) 525-tesla, tesla/515 - tesla/515 (bookworm),sid tesla/525 - 525 (bookworm),sid YYY, 525-tesla + 470 bullseye 525, 470-tesla + 470-tesla (bullseye) 525-tesla, tesla-470/main + tesla-470/main bullseye,bookworm,sid tesla/525 + 525 bookworm,sid YYY, 525-tesla 525-tesla (bookworm) ZZZ-tesla, tesla/525 - tesla/525 (bookworm),sid tesla/ZZZ + tesla/525 bookworm,sid tesla/ZZZ main sid YYY tesla/main sid YYY experimental ZZZ, (main) diff --git a/debian/changelog b/debian/changelog index 3e8acfbf..5f41b72d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,35 @@ +nvidia-graphics-drivers-tesla-450 (450.248.02-1~deb11u1) bullseye; urgency=medium + + * Rebuild for bullseye. + + -- Andreas Beckmann <a...@debian.org> Wed, 28 Jun 2023 20:20:39 +0200 + +nvidia-graphics-drivers-tesla-450 (450.248.02-1) unstable; urgency=medium + + * New upstream Tesla release 450.248.02 (2023-06-26). + * Fixed CVE-2023-25515, CVE-2023-25516. (Closes: #1039682) + https://nvidia.custhelp.com/app/answers/detail/a_id/5468 + * Improved compatibility with recent Linux kernels. + + [ Andreas Beckmann ] + * Refresh patches. + + -- Andreas Beckmann <a...@debian.org> Wed, 28 Jun 2023 20:01:45 +0200 + +nvidia-graphics-drivers-tesla-450 (450.236.01-3) UNRELEASED; urgency=medium + + * Backport drm_driver_has_dumb_destroy changes from 525.116.03 to fix kernel + module build for Linux 6.4. + + -- Andreas Beckmann <a...@debian.org> Fri, 16 Jun 2023 18:29:09 +0200 + +nvidia-graphics-drivers-tesla-450 (450.236.01-2) unstable; urgency=medium + + * Backport vm_area_struct_has_const_vm_flags changes from 470.199.02 to fix + kernel module build for Linux 6.3. + + -- Andreas Beckmann <a...@debian.org> Fri, 16 Jun 2023 10:54:54 +0200 + nvidia-graphics-drivers-tesla-450 (450.236.01-1~deb11u1) bullseye; urgency=medium * Rebuild for bullseye. @@ -1072,6 +1104,20 @@ nvidia-graphics-drivers (430.14-1) experimental; urgency=medium -- Andreas Beckmann <a...@debian.org> Sat, 25 May 2019 13:49:09 +0200 +nvidia-graphics-drivers-tesla-418 (418.226.00-12) UNRELEASED; urgency=medium + + * Backport drm_driver_has_dumb_destroy changes from 525.116.03 to fix kernel + module build for Linux 6.4. + + -- Andreas Beckmann <a...@debian.org> Fri, 16 Jun 2023 17:43:27 +0200 + +nvidia-graphics-drivers-tesla-418 (418.226.00-11) unstable; urgency=medium + + * Backport vm_area_struct_has_const_vm_flags changes from 470.199.02 to fix + kernel module build for Linux 6.3. + + -- Andreas Beckmann <a...@debian.org> Thu, 15 Jun 2023 14:07:08 +0200 + nvidia-graphics-drivers-tesla-418 (418.226.00-10) unstable; urgency=medium * Backport acpi_op_remove changes from 470.182.03 to fix kernel module build @@ -2014,6 +2060,20 @@ nvidia-graphics-drivers (396.18-1) experimental; urgency=medium -- Andreas Beckmann <a...@debian.org> Sun, 22 Apr 2018 13:59:45 +0200 +nvidia-graphics-drivers (390.157-4) UNRELEASED; urgency=medium + + * Backport drm_driver_has_dumb_destroy changes from 525.116.03 to fix kernel + module build for Linux 6.4. + + -- Andreas Beckmann <a...@debian.org> Fri, 16 Jun 2023 17:29:02 +0200 + +nvidia-graphics-drivers (390.157-3) UNRELEASED; urgency=medium + + * Backport vm_area_struct_has_const_vm_flags changes from 470.199.02 to fix + kernel module build for Linux 6.3. + + -- Andreas Beckmann <a...@debian.org> Thu, 15 Jun 2023 10:01:34 +0200 + nvidia-graphics-drivers (390.157-2) UNRELEASED; urgency=medium * Backport acpi_op_remove changes from 470.182.03 to fix kernel module build @@ -4805,6 +4865,9 @@ nvidia-graphics-drivers (343.22-1) experimental; urgency=medium nvidia-graphics-drivers (340.108-2) UNRELEASED; urgency=medium + * Backport vm_area_struct_has_const_vm_flags changes from 470.199.02 to fix + kernel module build for Linux 6.3. + * Backport acpi_op_remove changes from 470.182.03 to fix kernel module build for Linux 6.2. diff --git a/debian/control.md5sum b/debian/control.md5sum index bb6e412b..0d1857fe 100644 --- a/debian/control.md5sum +++ b/debian/control.md5sum @@ -2,4 +2,4 @@ 6abdae87c561590eed426f1294b444ed debian/control.in 8489c83cfe0171c9de6d052c01a6d19b debian/gen-control.pl 55764e43f1aeebd8c8e589a227cad550 debian/rules -6a42730ab7a453a8a02c5ae4f885cdd0 debian/rules.defs +ad1e27dd2789bdc3bd72b1a7efcd82e8 debian/rules.defs diff --git a/debian/module/debian/patches/0023-backport-vm_area_struct_has_const_vm_flags-changes-f.patch b/debian/module/debian/patches/0023-backport-vm_area_struct_has_const_vm_flags-changes-f.patch new file mode 100644 index 00000000..5151ea69 --- /dev/null +++ b/debian/module/debian/patches/0023-backport-vm_area_struct_has_const_vm_flags-changes-f.patch @@ -0,0 +1,160 @@ +From a887b0c0b81c1d6739e3789f51a8a60514393e90 Mon Sep 17 00:00:00 2001 +From: Andreas Beckmann <a...@debian.org> +Date: Tue, 27 Jun 2023 22:26:21 +0200 +Subject: [PATCH] backport vm_area_struct_has_const_vm_flags changes from + 470.199.02 + +--- + common/inc/nv-mm.h | 22 ++++++++++++++++++++++ + conftest.sh | 19 +++++++++++++++++++ + nvidia-drm/nvidia-drm-gem-user-memory.c | 6 +++--- + nvidia-drm/nvidia-drm.Kbuild | 1 + + nvidia/nv-mmap.c | 12 ++++++------ + nvidia/nvidia.Kbuild | 1 + + 6 files changed, 52 insertions(+), 9 deletions(-) + +diff --git a/common/inc/nv-mm.h b/common/inc/nv-mm.h +index 54f6f60..46d09ca 100644 +--- a/common/inc/nv-mm.h ++++ b/common/inc/nv-mm.h +@@ -270,4 +270,26 @@ static inline struct rw_semaphore *nv_mmap_get_lock(struct mm_struct *mm) + #endif + } + ++#if defined(NV_VM_AREA_STRUCT_HAS_CONST_VM_FLAGS) ++static inline void nv_vm_flags_set(struct vm_area_struct *vma, vm_flags_t flags) ++{ ++ vm_flags_set(vma, flags); ++} ++ ++static inline void nv_vm_flags_clear(struct vm_area_struct *vma, vm_flags_t flags) ++{ ++ vm_flags_clear(vma, flags); ++} ++#else ++static inline void nv_vm_flags_set(struct vm_area_struct *vma, unsigned long flags) ++{ ++ vma->vm_flags |= flags; ++} ++ ++static inline void nv_vm_flags_clear(struct vm_area_struct *vma, unsigned long flags) ++{ ++ vma->vm_flags &= ~flags; ++} ++#endif ++ + #endif // __NV_MM_H__ +diff --git a/conftest.sh b/conftest.sh +index 173eb54..2a65e39 100755 +--- a/conftest.sh ++++ b/conftest.sh +@@ -4429,6 +4429,25 @@ compile_test() { + compile_check_conftest "$CODE" "NV_DRM_CONNECTOR_HAS_OVERRIDE_EDID" "" "types" + ;; + ++ vm_area_struct_has_const_vm_flags) ++ # ++ # Determine if the 'vm_area_struct' structure has ++ # const 'vm_flags'. ++ # ++ # A union of '__vm_flags' and 'const vm_flags' was added ++ # by commit bc292ab00f6c ("mm: introduce vma->vm_flags ++ # wrapper functions") in mm-stable branch (2023-02-09) ++ # of the akpm/mm maintainer tree. ++ # ++ CODE=" ++ #include <linux/mm_types.h> ++ int conftest_vm_area_struct_has_const_vm_flags(void) { ++ return offsetof(struct vm_area_struct, __vm_flags); ++ }" ++ ++ compile_check_conftest "$CODE" "NV_VM_AREA_STRUCT_HAS_CONST_VM_FLAGS" "" "types" ++ ;; ++ + drm_driver_has_dumb_destroy) + # + # Determine if the 'drm_driver' structure has a 'dumb_destroy' +diff --git a/nvidia-drm/nvidia-drm-gem-user-memory.c b/nvidia-drm/nvidia-drm-gem-user-memory.c +index 4229459..9f0b99e 100644 +--- a/nvidia-drm/nvidia-drm-gem-user-memory.c ++++ b/nvidia-drm/nvidia-drm-gem-user-memory.c +@@ -95,9 +95,9 @@ static bool __nv_drm_gem_user_memory_adjust_mmap_flags( + return false; + } + +- vma->vm_flags &= ~VM_PFNMAP; +- vma->vm_flags &= ~VM_IO; +- vma->vm_flags |= VM_MIXEDMAP; ++ nv_vm_flags_clear(vma, VM_PFNMAP); ++ nv_vm_flags_clear(vma, VM_IO); ++ nv_vm_flags_set(vma, VM_MIXEDMAP); + + return true; + } +diff --git a/nvidia-drm/nvidia-drm.Kbuild b/nvidia-drm/nvidia-drm.Kbuild +index d520d4f..a5e2eed 100644 +--- a/nvidia-drm/nvidia-drm.Kbuild ++++ b/nvidia-drm/nvidia-drm.Kbuild +@@ -108,4 +108,5 @@ NV_CONFTEST_TYPE_COMPILE_TESTS += dma_resv_add_fence + NV_CONFTEST_TYPE_COMPILE_TESTS += dma_resv_reserve_fences + NV_CONFTEST_TYPE_COMPILE_TESTS += reservation_object_reserve_shared_has_num_fences_arg + NV_CONFTEST_TYPE_COMPILE_TESTS += drm_connector_has_override_edid ++NV_CONFTEST_TYPE_COMPILE_TESTS += vm_area_struct_has_const_vm_flags + NV_CONFTEST_TYPE_COMPILE_TESTS += drm_driver_has_dumb_destroy +diff --git a/nvidia/nv-mmap.c b/nvidia/nv-mmap.c +index 0dc2396..c56b5c6 100644 +--- a/nvidia/nv-mmap.c ++++ b/nvidia/nv-mmap.c +@@ -450,7 +450,7 @@ static int nvidia_mmap_numa( + } + + // Needed for the linux kernel for mapping compound pages +- vma->vm_flags |= VM_MIXEDMAP; ++ nv_vm_flags_set(vma, VM_MIXEDMAP); + + for (i = 0, addr = mmap_context->page_array[0]; i < pages; + addr = mmap_context->page_array[++i], start += PAGE_SIZE) +@@ -599,7 +599,7 @@ int nvidia_mmap_helper( + } + up(&nvl->mmap_lock); + +- vma->vm_flags |= VM_IO | VM_PFNMAP | VM_DONTEXPAND; ++ nv_vm_flags_set(vma, VM_IO | VM_PFNMAP | VM_DONTEXPAND); + } + else + { +@@ -666,15 +666,15 @@ int nvidia_mmap_helper( + + NV_PRINT_AT(NV_DBG_MEMINFO, at); + +- vma->vm_flags |= (VM_IO | VM_LOCKED | VM_RESERVED); +- vma->vm_flags |= (VM_DONTEXPAND | VM_DONTDUMP); ++ nv_vm_flags_set(vma, VM_IO | VM_LOCKED | VM_RESERVED); ++ nv_vm_flags_set(vma, VM_DONTEXPAND | VM_DONTDUMP); + } + + if ((prot & NV_PROTECT_WRITEABLE) == 0) + { + vma->vm_page_prot = NV_PGPROT_READ_ONLY(vma->vm_page_prot); +- vma->vm_flags &= ~VM_WRITE; +- vma->vm_flags &= ~VM_MAYWRITE; ++ nv_vm_flags_clear(vma, VM_WRITE); ++ nv_vm_flags_clear(vma, VM_MAYWRITE); + } + + vma->vm_ops = &nv_vm_ops; +diff --git a/nvidia/nvidia.Kbuild b/nvidia/nvidia.Kbuild +index 160c2f8..1b98d85 100644 +--- a/nvidia/nvidia.Kbuild ++++ b/nvidia/nvidia.Kbuild +@@ -198,6 +198,7 @@ NV_CONFTEST_TYPE_COMPILE_TESTS += timeval + NV_CONFTEST_TYPE_COMPILE_TESTS += timespec64 + NV_CONFTEST_TYPE_COMPILE_TESTS += mm_has_mmap_lock + NV_CONFTEST_TYPE_COMPILE_TESTS += pci_channel_state ++NV_CONFTEST_TYPE_COMPILE_TESTS += vm_area_struct_has_const_vm_flags + + NV_CONFTEST_GENERIC_COMPILE_TESTS += dom0_kernel_present + NV_CONFTEST_GENERIC_COMPILE_TESTS += nvidia_vgpu_kvm_build +-- +2.20.1 + diff --git a/debian/module/debian/patches/0024-backport-vm_area_struct_has_const_vm_flags-changes-f.patch b/debian/module/debian/patches/0024-backport-vm_area_struct_has_const_vm_flags-changes-f.patch new file mode 100644 index 00000000..c0c63bf3 --- /dev/null +++ b/debian/module/debian/patches/0024-backport-vm_area_struct_has_const_vm_flags-changes-f.patch @@ -0,0 +1,36 @@ +From f1c8ea717aac9b4b7863ff598dc36d024ceb4b37 Mon Sep 17 00:00:00 2001 +From: Andreas Beckmann <a...@debian.org> +Date: Wed, 31 May 2023 12:25:55 +0200 +Subject: [PATCH 2/2] backport vm_area_struct_has_const_vm_flags changes from + 525.105.17 (uvm part) + +--- + nvidia-uvm/nvidia-uvm.Kbuild | 1 + + nvidia-uvm/uvm8.c | 2 +- + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/nvidia-uvm/nvidia-uvm.Kbuild b/nvidia-uvm/nvidia-uvm.Kbuild +index 0fe5f5e..7134784 100644 +--- a/nvidia-uvm/nvidia-uvm.Kbuild ++++ b/nvidia-uvm/nvidia-uvm.Kbuild +@@ -127,3 +127,4 @@ NV_CONFTEST_TYPE_COMPILE_TESTS += proc_ops + NV_CONFTEST_TYPE_COMPILE_TESTS += timeval + NV_CONFTEST_TYPE_COMPILE_TESTS += timespec64 + NV_CONFTEST_TYPE_COMPILE_TESTS += mm_has_mmap_lock ++NV_CONFTEST_TYPE_COMPILE_TESTS += vm_area_struct_has_const_vm_flags +diff --git a/nvidia-uvm/uvm8.c b/nvidia-uvm/uvm8.c +index 14289f8..b541320 100644 +--- a/nvidia-uvm/uvm8.c ++++ b/nvidia-uvm/uvm8.c +@@ -812,7 +812,7 @@ static int uvm_mmap(struct file *filp, struct vm_area_struct *vma) + // Using VM_DONTCOPY would be nice, but madvise(MADV_DOFORK) can reset that + // so we have to handle vm_open on fork anyway. We could disable MADV_DOFORK + // with VM_IO, but that causes other mapping issues. +- vma->vm_flags |= VM_MIXEDMAP | VM_DONTEXPAND; ++ nv_vm_flags_set(vma, VM_MIXEDMAP | VM_DONTEXPAND); + + vma->vm_ops = &uvm_vm_ops_managed; + +-- +2.20.1 + diff --git a/debian/module/debian/patches/bashisms.patch b/debian/module/debian/patches/bashisms.patch index 9f13871d..bc38653a 100644 --- a/debian/module/debian/patches/bashisms.patch +++ b/debian/module/debian/patches/bashisms.patch @@ -3,7 +3,7 @@ Description: fix bashisms in conftest.sh --- a/conftest.sh +++ b/conftest.sh -@@ -4687,7 +4687,7 @@ case "$5" in +@@ -4711,7 +4711,7 @@ case "$5" in if [ -n "$VGX_BUILD" ]; then if [ -f /proc/xen/capabilities ]; then diff --git a/debian/module/debian/patches/cc_version_check-gcc5.patch b/debian/module/debian/patches/cc_version_check-gcc5.patch index 5dc407ca..b87ed7fa 100644 --- a/debian/module/debian/patches/cc_version_check-gcc5.patch +++ b/debian/module/debian/patches/cc_version_check-gcc5.patch @@ -5,7 +5,7 @@ Description: ignore __GNUC_MINOR__ from GCC 5 onwards --- a/conftest.sh +++ b/conftest.sh -@@ -4517,7 +4517,7 @@ case "$5" in +@@ -4541,7 +4541,7 @@ case "$5" in kernel_cc_minor=`echo ${kernel_cc_version} | cut -d '.' -f 2` echo " diff --git a/debian/module/debian/patches/series.in b/debian/module/debian/patches/series.in index 1426ccbd..e095f345 100644 --- a/debian/module/debian/patches/series.in +++ b/debian/module/debian/patches/series.in @@ -4,6 +4,8 @@ bashisms.patch # kernel support 0010-backport-pci-dma-changes-for-ppc64el.patch 0021-backport-acpi_op_remove-changes-from-470.182.03.patch +0023-backport-vm_area_struct_has_const_vm_flags-changes-f.patch +0024-backport-vm_area_struct_has_const_vm_flags-changes-f.patch ppc64el.patch # build system updates diff --git a/debian/rules.defs b/debian/rules.defs index 095c4aa1..caf94d8a 100644 --- a/debian/rules.defs +++ b/debian/rules.defs @@ -8,7 +8,7 @@ NVIDIA_TESLA = $(TESLA_MAJOR) XORG_ABI_LIST = 25 24 23 20 19 18 15 14 13 12 11 10 8 6.0 XORG_BOUND = (<< 2:21.99) -LINUX_KMOD_TESTED = 6.2 +LINUX_KMOD_TESTED = 6.4 ARCH_LIST = amd64 ARCH_LIST += i386