VirtualBox

Ticket #9159 (closed defect: obsolete)

Opened 3 years ago

Last modified 2 months ago

Guest additions module vboxguest fails to load with 'unresolved symbol vunmap'

Reported by: mcockerell Owned by:
Priority: minor Component: guest additions
Version: VirtualBox 4.0.10 Keywords:
Cc: Guest type: Linux
Host type: Windows

Description (last modified by frank) (diff)

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

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

Change History

Changed 3 years ago by mcockerell

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

Changed 3 years ago by mcockerell

Extract from dmesg output showing debugging messages

comment:1 Changed 3 years ago by mcockerell

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 Changed 3 years ago by frank

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 Changed 2 months ago by frank

  • Status changed from new to closed
  • Resolution set to obsolete
  • Description modified (diff)
Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use