On 09. 06. 20, 21:14, Larry Finger wrote:
On 6/9/20 12:58 AM, Jiri Slaby wrote:
On 08. 06. 20, 21:06, Larry Finger wrote:
Hi,
In kernel 5.8, the routine used by VirtualBox to map an area of virtual memory "(__get_vm_area()" has been replaced. By itself, thet is not serious, but the replacement is not exported, thus VB will cannot be built.
Try this: Index: VirtualBox-6.1.8/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c =================================================================== --- VirtualBox-6.1.8.orig/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c +++ VirtualBox-6.1.8/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c @@ -38,7 +38,7 @@
#if (defined(RT_ARCH_AMD64) || defined(DOXYGEN_RUNNING)) && !defined(RTMEMALLOC_EXEC_HEAP) -# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 23) +# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 23) && LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0) /** * Starting with 2.6.23 we can use __get_vm_area and map_vm_area to allocate * memory in the moduel range. This is preferrable to the exec heap below.
Jiri,
Thanks for the suggestion. With this change, the module builds, but it does not start correctly. Apparently, 5.8 is not like 2.6.22, or there has been some bit rot.
I guess programming would not be as interesting if it were simple. :)
Ok, so we should likely export module_alloc, then. Not __get_vm_area, which is only an internal interface :/. thanks, -- js suse labs -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org