1diff -ruNb a/kernel/conftest.sh b/kernel/conftest.sh
2--- a/kernel/conftest.sh 2024-07-19 04:36:26.183701185 -0500
3+++ b/kernel/conftest.sh 2024-07-19 04:36:26.230366381 -0500
4@@ -4464,20 +4464,22 @@
5 compile_check_conftest "$CODE" "NV_DRM_GEM_OBJECT_VMAP_HAS_MAP_ARG" "" "types"
6 ;;
7
8- unsafe_follow_pfn)
9+ follow_pfn)
10 #
11- # Determine if unsafe_follow_pfn() is present.
12+ # Determine if follow_pfn() is present.
13 #
14- # unsafe_follow_pfn() was added by commit 69bacee7f9ad
15- # ("mm: Add unsafe_follow_pfn") in v5.13-rc1.
16+ # follow_pfn() was added by commit 3b6748e2dd69
17+ # ("mm: introduce follow_pfn()") in v2.6.31-rc1, and removed
18+ # by commit 233eb0bf3b94 ("mm: remove follow_pfn")
19+ # from linux-next 233eb0bf3b94.
20 #
21 CODE="
22 #include <linux/mm.h>
23- void conftest_unsafe_follow_pfn(void) {
24- unsafe_follow_pfn();
25+ void conftest_follow_pfn(void) {
26+ follow_pfn();
27 }"
28
29- compile_check_conftest "$CODE" "NV_UNSAFE_FOLLOW_PFN_PRESENT" "" "functions"
30+ compile_check_conftest "$CODE" "NV_FOLLOW_PFN_PRESENT" "" "functions"
31 ;;
32
33 drm_plane_atomic_check_has_atomic_state_arg)
34diff -ruNb a/kernel/nvidia/nvidia.Kbuild b/kernel/nvidia/nvidia.Kbuild
35--- a/kernel/nvidia/nvidia.Kbuild 2022-10-12 04:29:57.000000000 -0500
36+++ b/kernel/nvidia/nvidia.Kbuild 2024-07-19 05:17:39.148448922 -0500
37@@ -164,7 +164,7 @@ NV_CONFTEST_FUNCTION_COMPILE_TESTS += cc
38 NV_CONFTEST_FUNCTION_COMPILE_TESTS += iterate_fd
39 NV_CONFTEST_FUNCTION_COMPILE_TESTS += seq_read_iter
40 NV_CONFTEST_FUNCTION_COMPILE_TESTS += sg_page_iter_page
41-NV_CONFTEST_FUNCTION_COMPILE_TESTS += unsafe_follow_pfn
42+NV_CONFTEST_FUNCTION_COMPILE_TESTS += follow_pfn
43 NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_gem_object_get
44 NV_CONFTEST_FUNCTION_COMPILE_TESTS += drm_gem_object_put_unlocked
45 NV_CONFTEST_FUNCTION_COMPILE_TESTS += set_close_on_exec
46diff -ruNb a/kernel/nvidia/os-mlock.c b/kernel/nvidia/os-mlock.c
47--- a/kernel/nvidia/os-mlock.c 2022-10-12 04:30:26.000000000 -0500
48+++ b/kernel/nvidia/os-mlock.c 2024-07-19 04:36:26.230366381 -0500
49@@ -18,10 +18,10 @@
50 unsigned long address,
51 unsigned long *pfn)
52 {
53-#if defined(NV_UNSAFE_FOLLOW_PFN_PRESENT)
54- return unsafe_follow_pfn(vma, address, pfn);
55-#else
56+#if defined(NV_FOLLOW_PFN_PRESENT)
57 return follow_pfn(vma, address, pfn);
58+#else
59+ return -1;
60 #endif
61 }