Opened 14 years ago
Closed 11 years ago
#9159 closed defect (obsolete)
Guest additions module vboxguest fails to load with 'unresolved symbol vunmap'
Reported by: | Martin Cockerell | Owned by: | |
---|---|---|---|
Component: | guest additions | Version: | VirtualBox 4.0.10 |
Keywords: | Cc: | ||
Guest type: | Linux | Host type: | Windows |
Description (last modified by )
Module vboxguest fails to load due to 'unresolved symbol vunmap' in Linux guest with kernel version 2.4.20 - the vunmap system function is not available at this kernel level.
The guest additions source code contains conditional compilation directives to support various kernel levels (including above/below 2.4.22, the level at which the vmap/vunmap functions become available) but these are incomplete in the source file memobj-r0drv-linux.c. Specifically, although the use of vmap and vunmap is bypassed in several places, vunmap is still called in function rtR0MemObjNativeFree for memory types RTR0MEMOBJTYPE_RES_VIRT and RTR0MEMOBJTYPE_MAPPING.
Commenting out these vunmap calls and rebuilding allows vboxguest to load and the shared folder functionality to work.
Attachments (2)
Change History (5)
by , 14 years ago
Attachment: | memobj-r0drv-linux.c added |
---|
comment:1 by , 14 years ago
I added printk calls to memobj-r0drv-linux.c to aid debugging - the KERN_DEBUG messages are prefixed 'MJC' for ease of recognition.
The dmesg output shows that rtR0MemObjNativeMapKernel calls rtR0MemObjNew for type RTR0MEMOBJTYPE_MAPPING when Guest Additions is started.
When Guest Additions is stopped the dmesg output shows that rtR0MemObjNativeFree is called for type RTR0MEMOBJTYPE_MAPPING and the 'vunmap' code path is followed.
comment:2 by , 13 years ago
Actually we don't support all 2.4 kernels. The oldest guest kernel which is supported by VirtualBox is the RHEL3 kernel which is 2.4.21 with some modifications, among them vmalloc / vfree.
comment:3 by , 11 years ago
Description: | modified (diff) |
---|---|
Resolution: | → obsolete |
Status: | new → closed |
memobj-r0drv-linux.c with added printk calls for debugging