The linux Kernel 6.18.0 has been released on DEC. 01. 2025.

This is a "nvidia-580.105.08-fix-linux-6.18.patch" that I'm using against NVIDIA-Linux-x86_64-580.105.08.

nvidia-580.105.08-fix-linux-6.18.patch
[code]
diff -Nru a/kernel-open/conftest.sh b/kernel-open/conftest.sh
--- a/kernel-open/conftest.sh    2025-11-05 13:25:07.569025538 +0900
+++ b/kernel-open/conftest.sh    2025-11-05 13:17:18.791538775 +0900
@@ -4871,6 +4871,24 @@
             compile_check_conftest "$CODE" "NV_MEMORY_DEVICE_COHERENT_PRESENT" "" "types"
         ;;
 
+        get_dev_pagemap_single_arg)
+            #
+            # Determine if get_dev_pagemap() takes single argument.
+            #
+            # The get_dev_pagemap() function was updated to take only pfn argument
+            # and the lock parameter was removed in kernel v6.18.
+            #
+            CODE="
+            #include <linux/mm.h>
+            #include <linux/memremap.h>
+            void conftest_get_dev_pagemap(void) {
+                struct dev_pagemap *pgmap;
+                unsigned long pfn = 0;
+                pgmap = get_dev_pagemap(pfn);
+            }"
+
+            compile_check_conftest "$CODE" "NV_GET_DEV_PAGEMAP_SINGLE_ARG" "" "types"
+        ;;
 
         # When adding a new conftest entry, please use the correct format for
         # specifying the relevant upstream Linux kernel commit.  Please
diff -Nru a/kernel-open/nvidia-uvm/nvidia-uvm.Kbuild b/kernel-open/nvidia-uvm/nvidia-uvm.Kbuild
--- a/kernel-open/nvidia-uvm/nvidia-uvm.Kbuild    2025-11-05 13:25:58.745054536 +0900
+++ b/kernel-open/nvidia-uvm/nvidia-uvm.Kbuild    2025-11-05 13:20:37.365674825 +0900
@@ -61,6 +61,7 @@
 NV_CONFTEST_TYPE_COMPILE_TESTS += migrate_vma_added_flags
 NV_CONFTEST_TYPE_COMPILE_TESTS += migrate_device_range
 NV_CONFTEST_TYPE_COMPILE_TESTS += handle_mm_fault_has_pt_regs_arg
+NV_CONFTEST_TYPE_COMPILE_TESTS += get_dev_pagemap_single_arg
 NV_CONFTEST_TYPE_COMPILE_TESTS += mempolicy_has_unified_nodes
 NV_CONFTEST_TYPE_COMPILE_TESTS += mempolicy_has_home_node
 NV_CONFTEST_TYPE_COMPILE_TESTS += mpol_preferred_many_present
diff -Nru a/kernel-open/nvidia-uvm/uvm_va_range_device_p2p.c b/kernel-open/nvidia-uvm/uvm_va_range_device_p2p.c
--- a/kernel-open/nvidia-uvm/uvm_va_range_device_p2p.c    2025-11-05 13:27:03.729310408 +0900
+++ b/kernel-open/nvidia-uvm/uvm_va_range_device_p2p.c    2025-11-05 13:22:20.445586865 +0900
@@ -360,7 +360,11 @@
         // a reference to them, so take one now if using DEVICE_COHERENT pages.
         if (gpu->parent->cdmm_enabled) {
             get_page(page);
+#if defined(NV_GET_DEV_PAGEMAP_SINGLE_ARG)
+            get_dev_pagemap(page_to_pfn(page));
+#else
             get_dev_pagemap(page_to_pfn(page), NULL);
+#endif
         }
 #else
         // CDMM P2PDMA will never be enabled for this case


===
[NEW] 2025/12/01