VirtualBox

Ignore:
Timestamp:
Jun 26, 2007 11:54:32 PM (18 years ago)
Author:
vboxsync
Message:

Added a PORTME notice about a potential problem with kernel/user address space separation and assumptions on the VMMDev side.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/common/VBoxGuestLib/HGCMInternal.cpp

    r3099 r3307  
    171171                    || pParm->type == VMMDevHGCMParmType_LinAddr)
    172172                {
     173                    /* PORTME: When porting this to Darwin and other systems where the entire kernel isn't mapped
     174                       into every process, all linear address will have to be converted to physical SG lists at
     175                       this point. Care must also be taken on these guests to not mix kernel and user addresses
     176                       in HGCM calls, or we'll end up locking the wrong memory. If VMMDev/HGCM gets a linear address
     177                       it will assume that it's in the current memory context (i.e. use CR3 to translate it).
     178
     179                       These kind of problems actually applies to some patched linux kernels too, including older
     180                       fedora releases. (The patch is the infamous 4G/4G patch, aka 4g4g, by Ingo Molnar.) */
    173181                    rc = vbglLockLinear (&apvCtx[iParm], (void *)pParm->u.Pointer.u.linearAddr, pParm->u.Pointer.size);
    174182                   
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette