Bug ID | 1172897 |
---|---|
Summary | VirtualBox kernel modules will not run with kernel 5.8 |
Classification | openSUSE |
Product | openSUSE Tumbleweed |
Version | Current |
Hardware | x86-64 |
OS | openSUSE Factory |
Status | NEW |
Severity | Major |
Priority | P5 - None |
Component | Virtualization:Other |
Assignee | virt-bugs@suse.de |
Reporter | Larry.Finger@gmail.com |
QA Contact | qa-bugs@suse.de |
Found By | --- |
Blocker | --- |
Created attachment 838772 [details]
Changes needed for kernel 5.8 for patch to module_memory to work
There have been a number of fixes needed to build vboxdrv with kernel 5.8. The
changes handle the following differences in the kernel API:
1. In struct mm_struct, member mmap_sem was renamed to mmap_lock.
2. The information in cpu_tlbstate is no longer exported.
3. The routines __get_vm_area() and map_vm_area() no longer exist and their
replacements are not exported. Two fixes have been attempted:
a. The missing routines were not available until kernel 2.6.23, thus the
code
was changed to revert back to the "old" method. Unfortunately, this did
not
work, and likely it will require Oracle to make the changes.
b. The replacements for __get_vm_area() and map_vm_area() are implemented.
The
resulting code builds but gets missing globals on loading. For testing,
my
kernel was modified as shown in the attached patched.
This change cannot be permanent, but it can be temporary.