Package: release.debian.org Severity: normal Tags: bookworm User: release.debian....@packages.debian.org Usertags: pu
[ Reason ] To finish the update series of the nvidia 535 driver series and fix a few new CVEs we need to update src:nvidia-open-gpu-kernel-modules to a new upstream release, too. There are no additional packaging changes besides refreshing the patches. [ Impact ] A graphics driver with open CVEs. [ Tests ] Only building the module has been tested, everything else would require usage of nvidia GPUs and drivers. [ Risks ] Updating to a new upstream release from the same series is an established procedure in stable. [ Checklist ] [*] *all* changes are documented in the d/changelog [.] I reviewed all changes and I approve them only the debian part, the upstream part is partly firmware blobs as hexdump and otherwise full of new features and reorganizations [.] attach debdiff against the package in (old)stable The full debdiff for debian/* is attached, for the upstream part (i.e. what is equivalent to the blob in src:nvidia-graphics-drivers/non-free I'm only attaching the diffstat. [*] the issue is verified as fixed in unstable [ Changes ] +nvidia-open-gpu-kernel-modules (535.183.01-1~deb12u1) bookworm; urgency=medium + + * Rebuild for bookworm. + + -- Andreas Beckmann <a...@debian.org> Wed, 19 Jun 2024 09:17:48 +0200 + +nvidia-open-gpu-kernel-modules (535.183.01-1) unstable; urgency=medium + + * New upstream LTS and Tesla branch release 535.183.01 (2024-06-04). + * Fixed CVE-2024-0090, CVE-2024-0092. (Closes: #1072800) + https://nvidia.custhelp.com/app/answers/detail/a_id/5551 + * New upstream long term support branch release 535.179 (2024-05-09). + * New upstream long term support branch release 535.171.04 (2024-03-21). + * Sync with src:nvidia-graphics-drivers. + * Refresh patches. + + -- Andreas Beckmann <a...@debian.org> Wed, 19 Jun 2024 04:56:43 +0200 README.md | 12 +- debian/changelog | 18 + debian/patches/hmm.patch | 10 +- ...-remove-empty-lines-from-uts_release-outp.patch | 6 +- debian/patches/module/0034-fix-typos.patch | 6 +- debian/patches/module/bashisms.patch | 2 +- debian/patches/module/cc_version_check-gcc5.patch | 2 +- debian/patches/module/conftest-verbose.patch | 14 +- debian/patches/module/series.in | 2 +- debian/patches/module/use-kbuild-flags.patch | 12 +- kernel-open/Kbuild | 4 +- kernel-open/common/inc/nv-linux.h | 27 +- kernel-open/conftest.sh | 60 +- kernel-open/nvidia-modeset/nvidia-modeset-linux.c | 6 +- kernel-open/nvidia-uvm/uvm_ats.h | 10 - kernel-open/nvidia-uvm/uvm_ats_faults.c | 174 +++- kernel-open/nvidia-uvm/uvm_ats_faults.h | 20 + kernel-open/nvidia-uvm/uvm_gpu.h | 20 +- kernel-open/nvidia-uvm/uvm_gpu_access_counters.c | 193 +++- kernel-open/nvidia-uvm/uvm_gpu_replayable_faults.c | 10 +- kernel-open/nvidia-uvm/uvm_linux.h | 10 + kernel-open/nvidia-uvm/uvm_test.c | 28 +- kernel-open/nvidia-uvm/uvm_test_ioctl.h | 2 - kernel-open/nvidia-uvm/uvm_va_space_mm.c | 4 +- kernel-open/nvidia/nv-pci.c | 9 + kernel-open/nvidia/nv.c | 6 +- kernel-open/nvidia/nvidia.Kbuild | 2 + kernel-open/nvidia/os-interface.c | 151 ++- kernel-open/nvidia/os-mlock.c | 67 +- src/common/displayport/inc/dp_connectorimpl.h | 3 +- src/common/displayport/inc/dp_regkeydatabase.h | 10 +- src/common/displayport/src/dp_connectorimpl.cpp | 6 +- src/common/displayport/src/dp_evoadapter.cpp | 5 +- src/common/inc/nvBldVer.h | 20 +- src/common/inc/nvUnixVersion.h | 2 +- .../inc/swref/published/ampere/ga100/dev_runlist.h | 62 +- src/common/nvlink/interface/nvlink.h | 4 +- .../nvswitch/kernel/inc/soe/bin/g_soeuc_lr10_dbg.h | 1098 ++++++++++---------- .../nvswitch/kernel/inc/soe/bin/g_soeuc_lr10_prd.h | 1098 ++++++++++---------- .../nvidia/inc/ctrl/ctrl2080/ctrl2080internal.h | 13 + src/common/sdk/nvidia/inc/nvos.h | 1 + .../uproc/os/common/include/nv-crashcat-decoder.h | 7 + src/common/uproc/os/common/include/nv-crashcat.h | 27 +- src/nvidia-modeset/Makefile | 1 + src/nvidia-modeset/include/nvkms-hdmi.h | 2 +- src/nvidia-modeset/src/nvkms-dpy.c | 23 +- src/nvidia-modeset/src/nvkms-evo.c | 6 +- src/nvidia-modeset/src/nvkms-evo3.c | 27 +- src/nvidia-modeset/src/nvkms-hdmi.c | 4 +- src/nvidia/Makefile | 1 + .../arch/nvalloc/common/inc/dev_ctrl_defines.h | 5 +- src/nvidia/arch/nvalloc/common/inc/nvcst.h | 3 +- src/nvidia/arch/nvalloc/common/inc/oob/smbpbi.h | 14 +- src/nvidia/generated/g_crashcat_report_nvoc.c | 10 + src/nvidia/generated/g_crashcat_report_nvoc.h | 13 + src/nvidia/generated/g_gpu_nvoc.h | 3 + src/nvidia/generated/g_kernel_fifo_nvoc.c | 22 + src/nvidia/generated/g_kernel_fifo_nvoc.h | 27 + .../generated/g_kernel_graphics_context_nvoc.h | 6 +- src/nvidia/generated/g_kernel_graphics_nvoc.c | 47 + src/nvidia/generated/g_kernel_graphics_nvoc.h | 75 ++ src/nvidia/generated/g_kernel_gsp_nvoc.h | 10 + src/nvidia/generated/g_nv_name_released.h | 4 + src/nvidia/generated/g_profiler_v2_nvoc.h | 2 +- src/nvidia/generated/g_subdevice_nvoc.c | 781 +++++++------- src/nvidia/generated/g_subdevice_nvoc.h | 8 + src/nvidia/generated/g_vgpuconfigapi_nvoc.c | 8 +- src/nvidia/generated/g_vgpuconfigapi_nvoc.h | 2 +- src/nvidia/inc/kernel/gpu/gsp/gsp_static_config.h | 1 + src/nvidia/inc/kernel/gpu/gsp/message_queue_priv.h | 20 + src/nvidia/interface/nvrm_registry.h | 8 + src/nvidia/kernel/vgpu/nv/rpc.c | 4 + src/nvidia/src/kernel/gpu/device.c | 2 +- .../gpu/fifo/arch/ampere/kernel_fifo_ga100.c | 91 ++ src/nvidia/src/kernel/gpu/fifo/kernel_channel.c | 11 +- src/nvidia/src/kernel/gpu/fsp/kern_fsp.c | 38 +- .../kernel/gpu/gr/arch/turing/kgraphics_tu102.c | 333 ++++++ src/nvidia/src/kernel/gpu/gr/kernel_graphics.c | 52 +- .../src/kernel/gpu/gr/kernel_graphics_context.c | 9 +- .../kernel/gpu/gsp/arch/turing/kernel_gsp_tu102.c | 28 +- src/nvidia/src/kernel/gpu/gsp/kernel_gsp.c | 75 ++ src/nvidia/src/kernel/gpu/gsp/message_queue_cpu.c | 47 +- src/nvidia/src/kernel/gpu/mem_mgr/mem_desc.c | 2 + src/nvidia/src/kernel/gpu/mem_mgr/vaspace_api.c | 3 +- src/nvidia/src/kernel/mem_mgr/video_mem.c | 12 +- src/nvidia/src/kernel/rmapi/mapping_cpu.c | 5 +- src/nvidia/src/kernel/rmapi/nv_gpu_ops.c | 5 +- .../crashcat/v1/impl/crashcat_report_v1_libos3.c | 5 + version.mk | 2 +- 89 files changed, 3277 insertions(+), 1823 deletions(-) [ Other info ] This is a rebuild of the package from sid with no further changes. Andreas
diff --git a/debian/changelog b/debian/changelog index e6ad910b..b68879ea 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,21 @@ +nvidia-open-gpu-kernel-modules (535.183.01-1~deb12u1) bookworm; urgency=medium + + * Rebuild for bookworm. + + -- Andreas Beckmann <a...@debian.org> Wed, 19 Jun 2024 09:17:48 +0200 + +nvidia-open-gpu-kernel-modules (535.183.01-1) unstable; urgency=medium + + * New upstream LTS and Tesla branch release 535.183.01 (2024-06-04). + * Fixed CVE-2024-0090, CVE-2024-0092. (Closes: #1072800) + https://nvidia.custhelp.com/app/answers/detail/a_id/5551 + * New upstream long term support branch release 535.179 (2024-05-09). + * New upstream long term support branch release 535.171.04 (2024-03-21). + * Sync with src:nvidia-graphics-drivers. + * Refresh patches. + + -- Andreas Beckmann <a...@debian.org> Wed, 19 Jun 2024 04:56:43 +0200 + nvidia-open-gpu-kernel-modules (535.161.08-1~deb12u1) bookworm; urgency=medium * Rebuild for bookworm. diff --git a/debian/patches/hmm.patch b/debian/patches/hmm.patch index e7ee7b30..eb92335f 100644 --- a/debian/patches/hmm.patch +++ b/debian/patches/hmm.patch @@ -2,9 +2,9 @@ Author: Andreas Beckmann <a...@debian.org> Description: some hmm bits are not always available hmm_pfn_to_page() was introduced in Linux 5.8 ---- a/kernel-open/nvidia-uvm/uvm_ats.h -+++ b/kernel-open/nvidia-uvm/uvm_ats.h -@@ -38,7 +38,9 @@ +--- a/kernel-open/nvidia-uvm/uvm_linux.h ++++ b/kernel-open/nvidia-uvm/uvm_linux.h +@@ -118,7 +118,9 @@ static inline const struct cpumask *uvm_ // hmm_range_fault() needs CONFIG_HMM_MIRROR. To detect racing CPU invalidates // of memory regions while hmm_range_fault() is being called, MMU interval // notifiers are needed. @@ -12,6 +12,6 @@ Description: some hmm bits are not always available +// hmm_pfn_to_page() was added in Linux 5.8 (2733ea144dcce) + #if defined(CONFIG_HMM_MIRROR) && defined(NV_MMU_INTERVAL_NOTIFIER) && \ + LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) - #define UVM_ATS_PREFETCH_SUPPORTED() 1 + #define UVM_HMM_RANGE_FAULT_SUPPORTED() 1 #else - #define UVM_ATS_PREFETCH_SUPPORTED() 0 + #define UVM_HMM_RANGE_FAULT_SUPPORTED() 0 diff --git a/debian/patches/module/0002-conftest.sh-remove-empty-lines-from-uts_release-outp.patch b/debian/patches/module/0002-conftest.sh-remove-empty-lines-from-uts_release-outp.patch index 3fd14e72..ae1828fc 100644 --- a/debian/patches/module/0002-conftest.sh-remove-empty-lines-from-uts_release-outp.patch +++ b/debian/patches/module/0002-conftest.sh-remove-empty-lines-from-uts_release-outp.patch @@ -1,4 +1,4 @@ -From a1133243e871c1932499e29193c8afbd4349c915 Mon Sep 17 00:00:00 2001 +From 172858a78f62259bcb6d4436c2051c3645fb2f7e Mon Sep 17 00:00:00 2001 From: Andreas Beckmann <a...@debian.org> Date: Mon, 31 Oct 2022 14:40:42 +0100 Subject: [PATCH] conftest.sh: remove empty lines from uts_release output @@ -8,10 +8,10 @@ Subject: [PATCH] conftest.sh: remove empty lines from uts_release output 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conftest.sh b/conftest.sh -index e883f3e..962b418 100755 +index fcfa9d5..376b227 100755 --- a/conftest.sh +++ b/conftest.sh -@@ -5856,7 +5856,7 @@ compile_test() { +@@ -5912,7 +5912,7 @@ compile_test() { echo "#include <generated/utsrelease.h> UTS_RELEASE" > conftest$$.c diff --git a/debian/patches/module/0034-fix-typos.patch b/debian/patches/module/0034-fix-typos.patch index 22ceafa0..cd2724ea 100644 --- a/debian/patches/module/0034-fix-typos.patch +++ b/debian/patches/module/0034-fix-typos.patch @@ -1,4 +1,4 @@ -From 73d99e0834961ad70a90963d42a8a1d8d225e87d Mon Sep 17 00:00:00 2001 +From 7c6f49a47ddff074f6926997f2d37f57396fd2fb Mon Sep 17 00:00:00 2001 From: Andreas Beckmann <a...@debian.org> Date: Wed, 31 Jan 2024 03:06:19 +0100 Subject: [PATCH] fix typos @@ -31,10 +31,10 @@ index ee5eef4..3032615 100644 (g_uvm_perf_thrashing_lapse_usec == UVM_PERF_THRASHING_LAPSE_USEC_DEFAULT)) { va_space_thrashing->params.lapse_ns = UVM_PERF_THRASHING_LAPSE_USEC_DEFAULT_EMULATION * 1000; diff --git a/nvidia/nv.c b/nvidia/nv.c -index 5a43c52..592a228 100644 +index 76d1ef3..4fc7966 100644 --- a/nvidia/nv.c +++ b/nvidia/nv.c -@@ -4485,7 +4485,7 @@ NvU64 NV_API_CALL nv_get_dma_start_address( +@@ -4489,7 +4489,7 @@ NvU64 NV_API_CALL nv_get_dma_start_address( * Otherwise, the DMA start address only needs to be set once, and it * won't change afterward. Just return the cached value if asked again, * to avoid the kernel printing redundant messages to the kernel diff --git a/debian/patches/module/bashisms.patch b/debian/patches/module/bashisms.patch index b8d0ddab..55fc9ced 100644 --- a/debian/patches/module/bashisms.patch +++ b/debian/patches/module/bashisms.patch @@ -3,7 +3,7 @@ Description: fix bashisms in conftest.sh --- a/conftest.sh +++ b/conftest.sh -@@ -6696,7 +6696,7 @@ case "$5" in +@@ -6752,7 +6752,7 @@ case "$5" in if [ -n "$VGX_BUILD" ]; then if [ -f /proc/xen/capabilities ]; then diff --git a/debian/patches/module/cc_version_check-gcc5.patch b/debian/patches/module/cc_version_check-gcc5.patch index 2e7f529a..84788805 100644 --- a/debian/patches/module/cc_version_check-gcc5.patch +++ b/debian/patches/module/cc_version_check-gcc5.patch @@ -5,7 +5,7 @@ Description: ignore __GNUC_MINOR__ from GCC 5 onwards --- a/conftest.sh +++ b/conftest.sh -@@ -6530,7 +6530,7 @@ case "$5" in +@@ -6586,7 +6586,7 @@ case "$5" in kernel_cc_minor=`echo ${kernel_cc_version} | cut -d '.' -f 2` echo " diff --git a/debian/patches/module/conftest-verbose.patch b/debian/patches/module/conftest-verbose.patch index 1e7dbd60..9689e189 100644 --- a/debian/patches/module/conftest-verbose.patch +++ b/debian/patches/module/conftest-verbose.patch @@ -3,7 +3,7 @@ Description: dump the generated conftest headers --- a/Kbuild +++ b/Kbuild -@@ -170,6 +170,16 @@ NV_CONFTEST_HEADERS += $(obj)/conftest/h +@@ -166,6 +166,16 @@ NV_CONFTEST_HEADERS += $(obj)/conftest/h NV_CONFTEST_HEADERS += $(NV_CONFTEST_COMPILE_TEST_HEADERS) @@ -20,7 +20,7 @@ Description: dump the generated conftest headers # # Generate a header file for a single conftest compile test. Each compile test # header depends on conftest.sh, as well as the generated conftest/headers.h -@@ -194,6 +204,8 @@ define NV_GENERATE_COMPILE_TEST_HEADER +@@ -190,6 +200,8 @@ define NV_GENERATE_COMPILE_TEST_HEADER @mkdir -p $(obj)/conftest @# concatenate /dev/null to prevent cat from hanging when $$^ is empty @cat $$^ /dev/null > $$@ @@ -29,7 +29,7 @@ Description: dump the generated conftest headers endef # -@@ -213,9 +225,11 @@ $(eval $(call NV_GENERATE_COMPILE_TEST_H +@@ -209,9 +221,11 @@ $(eval $(call NV_GENERATE_COMPILE_TEST_H $(eval $(call NV_GENERATE_COMPILE_TEST_HEADER,symbols,$(NV_CONFTEST_SYMBOL_COMPILE_TESTS))) $(eval $(call NV_GENERATE_COMPILE_TEST_HEADER,types,$(NV_CONFTEST_TYPE_COMPILE_TESTS))) @@ -42,7 +42,7 @@ Description: dump the generated conftest headers # Each of these headers is checked for presence with a test #include; a -@@ -322,6 +336,7 @@ NV_HEADER_PRESENCE_PART = $(addprefix $( +@@ -318,6 +332,7 @@ NV_HEADER_PRESENCE_PART = $(addprefix $( define NV_HEADER_PRESENCE_CHECK $$(call NV_HEADER_PRESENCE_PART,$(1)): $$(NV_CONFTEST_SCRIPT) $(obj)/conftest/uts_release @mkdir -p $$(dir $$@) @@ -50,7 +50,7 @@ Description: dump the generated conftest headers @$$(NV_CONFTEST_CMD) test_kernel_header '$$(NV_CONFTEST_CFLAGS)' '$(1)' > $$@ endef -@@ -331,6 +346,8 @@ $(foreach header,$(NV_HEADER_PRESENCE_TE +@@ -327,6 +342,8 @@ $(foreach header,$(NV_HEADER_PRESENCE_TE # Concatenate all of the parts into headers.h. $(obj)/conftest/headers.h: $(call NV_HEADER_PRESENCE_PART,$(NV_HEADER_PRESENCE_TESTS)) @cat $^ > $@ @@ -59,7 +59,7 @@ Description: dump the generated conftest headers clean-dirs := $(obj)/conftest -@@ -351,7 +368,8 @@ BUILD_SANITY_CHECKS = \ +@@ -347,7 +364,8 @@ BUILD_SANITY_CHECKS = \ .PHONY: $(BUILD_SANITY_CHECKS) @@ -69,7 +69,7 @@ Description: dump the generated conftest headers @$(NV_CONFTEST_CMD) $@ full_output # Perform all sanity checks before generating the conftest headers -@@ -360,11 +378,13 @@ $(NV_CONFTEST_HEADERS): | $(BUILD_SANITY +@@ -356,11 +374,13 @@ $(NV_CONFTEST_HEADERS): | $(BUILD_SANITY # Make the conftest headers depend on the kernel version string diff --git a/debian/patches/module/series.in b/debian/patches/module/series.in index ee350f34..c892b7ac 100644 --- a/debian/patches/module/series.in +++ b/debian/patches/module/series.in @@ -8,7 +8,7 @@ bashisms.patch # build system updates fragile-ARCH.patch +conftest-verbose.patch use-kbuild-compiler.patch use-kbuild-flags.patch -conftest-verbose.patch conftest-prefer-arch-headers.patch diff --git a/debian/patches/module/use-kbuild-flags.patch b/debian/patches/module/use-kbuild-flags.patch index de295518..38619210 100644 --- a/debian/patches/module/use-kbuild-flags.patch +++ b/debian/patches/module/use-kbuild-flags.patch @@ -13,16 +13,20 @@ Description: use KBUILD_CFLAGS and (KBUILD_)LDFLAGS --- a/Kbuild +++ b/Kbuild -@@ -152,6 +152,12 @@ NV_CONFTEST_CMD := /bin/sh $(NV_CONFTEST - NV_CFLAGS_FROM_CONFTEST := $(shell $(NV_CONFTEST_CMD) build_cflags) - +@@ -154,6 +154,16 @@ NV_CFLAGS_FROM_CONFTEST := $(shell $(NV_ NV_CONFTEST_CFLAGS = $(NV_CFLAGS_FROM_CONFTEST) $(EXTRA_CFLAGS) -fno-pie + NV_CONFTEST_CFLAGS += $(call cc-disable-warning,pointer-sign) + NV_CONFTEST_CFLAGS += $(call cc-option,-fshort-wchar,) +NV_CONFTEST_CFLAGS += \ + $(patsubst -DARM64_ASM_ARCH=%,-DARM64_ASM_ARCH="%",\ -+ $(filter-out -Werror% $(GCC_PLUGINS_CFLAGS),\ ++ $(filter-out $(GCC_PLUGINS_CFLAGS),\ + $(KBUILD_CFLAGS)\ + )\ + ) ++NV_CONFTEST_CFLAGS += $(call cc-option,-Wno-error=implicit-function-declaration,) ++NV_CONFTEST_CFLAGS += $(call cc-option,-Wno-error=incompatible-pointer-types,) ++NV_CONFTEST_CFLAGS += $(call cc-option,-Wno-error=return-type,) ++NV_CONFTEST_CFLAGS += $(call cc-option,-Wno-error=strict-prototypes,) NV_CONFTEST_COMPILE_TEST_HEADERS := $(obj)/conftest/macros.h NV_CONFTEST_COMPILE_TEST_HEADERS += $(obj)/conftest/functions.h