VirtualBox

Opened 13 years ago

Closed 10 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 Frank Mehnert)

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)

memobj-r0drv-linux.c (47.8 KB ) - added by Martin Cockerell 13 years ago.
memobj-r0drv-linux.c with added printk calls for debugging
dmesg.log (373 bytes ) - added by Martin Cockerell 13 years ago.
Extract from dmesg output showing debugging messages

Download all attachments as: .zip

Change History (5)

by Martin Cockerell, 13 years ago

Attachment: memobj-r0drv-linux.c added

memobj-r0drv-linux.c with added printk calls for debugging

by Martin Cockerell, 13 years ago

Attachment: dmesg.log added

Extract from dmesg output showing debugging messages

comment:1 by Martin Cockerell, 13 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 Frank Mehnert, 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 Frank Mehnert, 10 years ago

Description: modified (diff)
Resolution: obsolete
Status: newclosed
Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use