Newer
Older
diff --git a/kernel/common/inc/nv-linux.h b/kernel/common/inc/nv-linux.h
--- a/kernel/common/inc/nv-linux.h
+++ b/kernel/common/inc/nv-linux.h
void *ptr = __vmalloc(size, GFP_KERNEL, PAGE_KERNEL);
+#else
+#endif
if (ptr)
NV_MEMDBG_ADD(ptr, size);
return ptr;
diff --git a/kernel/common/inc/nv-mm.h b/kernel/common/inc/nv-mm.h
--- a/kernel/common/inc/nv-mm.h
+++ b/kernel/common/inc/nv-mm.h
@@ -29,6 +29,10 @@
typedef int vm_fault_t;
#endif
/* get_user_pages
*
* The 8-argument version of get_user_pages was deprecated by commit
@@ -4067,6 +4067,44 @@ compile_test() {
compile_check_conftest "$CODE" "NV_KTIME_GET_REAL_TS64_PRESENT" "" "functions"
+ # Determine if __vmalloc has the 'pgprot' argument.
+ # The third argument to __vmalloc, page protection
+ # 'pgprot_t prot', was removed by commit 88dca4ca5a93
+ # (mm: remove the pgprot argument to __vmalloc)
+ # in v5.8-rc1 (2020-06-01).
+ CODE="
+ #include <linux/vmalloc.h>
+ void conftest_vmalloc_has_pgprot_t_arg(void) {
+ pgprot_t prot;
+ (void)__vmalloc(0, 0, prot);
+ }"
+ compile_check_conftest "$CODE" "NV_VMALLOC_HAS_PGPROT_T_ARG" "" "types"
+ # Determine if the 'mm_struct' structure has a 'mmap_lock' field.
+ # Kernel commit da1c55f1b272 ("mmap locking API: rename mmap_sem
+ # to mmap_lock") replaced the field 'mmap_sem' by 'mmap_lock'
+ # in v5.8-rc1 (2020-06-08).
+ return offsetof(struct mm_struct, mmap_lock);
+ }"
+
+ compile_check_conftest "$CODE" "NV_MM_HAS_MMAP_LOCK" "" "types"
+
# Determine if skip_bus_pm flag is present in struct pci_dev.
diff --git a/kernel/nvidia/nvidia.Kbuild b/kernel/nvidia/nvidia.Kbuild
--- a/kernel/nvidia/nvidia.Kbuild
+++ b/kernel/nvidia/nvidia.Kbuild
@@ -192,7 +192,9 @@ NV_CONFTEST_TYPE_COMPILE_TESTS += iterate_dir
NV_CONFTEST_TYPE_COMPILE_TESTS += kstrtoull
NV_CONFTEST_TYPE_COMPILE_TESTS += backlight_properties_type
NV_CONFTEST_TYPE_COMPILE_TESTS += proc_ops
+NV_CONFTEST_TYPE_COMPILE_TESTS += vmalloc_has_pgprot_t_arg
NV_CONFTEST_TYPE_COMPILE_TESTS += timeval
+NV_CONFTEST_TYPE_COMPILE_TESTS += mm_has_mmap_lock
NV_CONFTEST_TYPE_COMPILE_TESTS += kmem_cache_has_kobj_remove_work
NV_CONFTEST_TYPE_COMPILE_TESTS += sysfs_slab_unlink
NV_CONFTEST_TYPE_COMPILE_TESTS += pci_dev_has_skip_bus_pm
--
2.25.1