diff options
Diffstat (limited to 'kernel-5.8.patch')
-rw-r--r-- | kernel-5.8.patch | 196 |
1 files changed, 100 insertions, 96 deletions
diff --git a/kernel-5.8.patch b/kernel-5.8.patch index 48649d7e6aa0..31bc0e685baf 100644 --- a/kernel-5.8.patch +++ b/kernel-5.8.patch @@ -1,96 +1,100 @@ -diff --git a/kernel/common/inc/nv-linux.h b/kernel/common/inc/nv-linux.h
-index ac5bb95..3d2f0b7 100644
---- a/kernel/common/inc/nv-linux.h
-+++ b/kernel/common/inc/nv-linux.h
-@@ -531,7 +531,11 @@ extern int nv_pat_mode;
-
- static inline void *nv_vmalloc(unsigned long size)
- {
-+#if defined(NV_VMALLOC_HAS_PGPROT_T_ARG)
- void *ptr = __vmalloc(size, GFP_KERNEL, PAGE_KERNEL);
-+#else
-+ void *ptr = __vmalloc(size, GFP_KERNEL);
-+#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
-index 1270bf3..d2d7657 100644
---- a/kernel/common/inc/nv-mm.h
-+++ b/kernel/common/inc/nv-mm.h
-@@ -29,6 +29,10 @@
- typedef int vm_fault_t;
- #endif
-
-+#if defined(NV_MM_HAS_MMAP_LOCK)
-+#define mmap_sem mmap_lock
-+#endif
-+
- /* get_user_pages
- *
- * The 8-argument version of get_user_pages was deprecated by commit
-diff --git a/kernel/conftest.sh b/kernel/conftest.sh
-index 7da7505..7793dd6 100755
---- a/kernel/conftest.sh
-+++ b/kernel/conftest.sh
-@@ -4067,6 +4067,44 @@ compile_test() {
- compile_check_conftest "$CODE" "NV_KTIME_GET_REAL_TS64_PRESENT" "" "functions"
- ;;
-
-+ vmalloc_has_pgprot_t_arg)
-+ #
-+ # 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"
-+
-+ ;;
-+
-+ mm_has_mmap_lock)
-+ #
-+ # 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).
-+ CODE="
-+ #include <linux/mm_types.h>
-+
-+ int conftest_mm_has_mmap_lock(void) {
-+ return offsetof(struct mm_struct, mmap_lock);
-+ }"
-+
-+ compile_check_conftest "$CODE" "NV_MM_HAS_MMAP_LOCK" "" "types"
-+
-+ ;;
-+
- pci_dev_has_skip_bus_pm)
- #
- # Determine if skip_bus_pm flag is present in struct pci_dev.
-diff --git a/kernel/nvidia/nvidia.Kbuild b/kernel/nvidia/nvidia.Kbuild
-index 63e369f..656db7b 100644
---- 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
+From: Alberto Milone <alberto.milone@canonical.com> +Date: Mon, 13 Jul 2020 14:04:41 +0200 +Subject: [PATCH 1/1] Add support for Linux 5.8 + +diff --git a/kernel/common/inc/nv-linux.h b/kernel/common/inc/nv-linux.h +index ac5bb95..3d2f0b7 100644 +--- a/kernel/common/inc/nv-linux.h ++++ b/kernel/common/inc/nv-linux.h +@@ -531,7 +531,11 @@ extern int nv_pat_mode; + + static inline void *nv_vmalloc(unsigned long size) + { ++#if defined(NV_VMALLOC_HAS_PGPROT_T_ARG) + void *ptr = __vmalloc(size, GFP_KERNEL, PAGE_KERNEL); ++#else ++ void *ptr = __vmalloc(size, GFP_KERNEL); ++#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 +index 1270bf3..d2d7657 100644 +--- a/kernel/common/inc/nv-mm.h ++++ b/kernel/common/inc/nv-mm.h +@@ -29,6 +29,10 @@ + typedef int vm_fault_t; + #endif + ++#if defined(NV_MM_HAS_MMAP_LOCK) ++#define mmap_sem mmap_lock ++#endif ++ + /* get_user_pages + * + * The 8-argument version of get_user_pages was deprecated by commit +diff --git a/kernel/conftest.sh b/kernel/conftest.sh +index 7da7505..7793dd6 100755 +--- a/kernel/conftest.sh ++++ b/kernel/conftest.sh +@@ -4067,6 +4067,44 @@ compile_test() { + compile_check_conftest "$CODE" "NV_KTIME_GET_REAL_TS64_PRESENT" "" "functions" + ;; + ++ vmalloc_has_pgprot_t_arg) ++ # ++ # 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" ++ ++ ;; ++ ++ mm_has_mmap_lock) ++ # ++ # 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). ++ CODE=" ++ #include <linux/mm_types.h> ++ ++ int conftest_mm_has_mmap_lock(void) { ++ return offsetof(struct mm_struct, mmap_lock); ++ }" ++ ++ compile_check_conftest "$CODE" "NV_MM_HAS_MMAP_LOCK" "" "types" ++ ++ ;; ++ + pci_dev_has_skip_bus_pm) + # + # Determine if skip_bus_pm flag is present in struct pci_dev. +diff --git a/kernel/nvidia/nvidia.Kbuild b/kernel/nvidia/nvidia.Kbuild +index 63e369f..656db7b 100644 +--- 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 |