diff options
Diffstat (limited to 'meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0002-fixes_for_module_memory.patch')
-rw-r--r-- | meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0002-fixes_for_module_memory.patch | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0002-fixes_for_module_memory.patch b/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0002-fixes_for_module_memory.patch deleted file mode 100644 index a3cfc3b37..000000000 --- a/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0002-fixes_for_module_memory.patch +++ /dev/null @@ -1,65 +0,0 @@ -From bb580f7b601e5395a2f8fcb2485387035273320f Mon Sep 17 00:00:00 2001 -From: Hongxu Jia <hongxu.jia@windriver.com> -Date: Tue, 18 Aug 2020 17:49:34 +0800 -Subject: [PATCH 2/3] fixes_for_module_memory - -Upstream-Status: Backport [https://www.virtualbox.org/ticket/19644] - -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> ---- - .../Runtime/r0drv/linux/alloc-r0drv-linux.c | 18 ++++++++++++++++-- - 1 file changed, 16 insertions(+), 2 deletions(-) - -diff --git a/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c b/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c -index bbb8acc6..45cd34c7 100644 ---- a/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c -+++ b/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c -@@ -153,6 +153,8 @@ RT_EXPORT_SYMBOL(RTR0MemExecDonate); - - - #ifdef RTMEMALLOC_EXEC_VM_AREA -+ -+ - /** - * Allocate executable kernel memory in the module range. - * -@@ -168,7 +170,12 @@ static PRTMEMHDR rtR0MemAllocExecVmArea(size_t cb) - struct vm_struct *pVmArea; - size_t iPage; - -+# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) -+ pVmArea = __get_vm_area_caller(cbAlloc, VM_ALLOC, MODULES_VADDR, MODULES_END, -+ __builtin_return_address(0)); -+#else - pVmArea = __get_vm_area(cbAlloc, VM_ALLOC, MODULES_VADDR, MODULES_END); -+#endif - if (!pVmArea) - return NULL; - pVmArea->nr_pages = 0; /* paranoia? */ -@@ -201,14 +208,21 @@ static PRTMEMHDR rtR0MemAllocExecVmArea(size_t cb) - # endif - pVmArea->nr_pages = cPages; - pVmArea->pages = papPages; -- if (!map_vm_area(pVmArea, PAGE_KERNEL_EXEC, -+# if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) -+ unsigned long start = (unsigned long)pVmArea->addr; -+ unsigned long size = get_vm_area_size(pVmArea); -+ -+ if (!map_kernel_range(start, size, PAGE_KERNEL_EXEC, papPages)) -+#else -+ if (!map_vm_area(pVmArea, PAGE_KERNEL_EXEC, - # if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0) - &papPagesIterator - # else - papPages - # endif - )) -- { -+#endif -+ { - PRTMEMLNXHDREX pHdrEx = (PRTMEMLNXHDREX)pVmArea->addr; - pHdrEx->pVmArea = pVmArea; - pHdrEx->pvDummy = NULL; --- -2.18.2 - |