VirtualBox

Changeset 44790 in vbox


Ignore:
Timestamp:
Feb 21, 2013 5:13:55 PM (12 years ago)
Author:
vboxsync
Message:

VMMDev.cpp: Don't read the request header twice as it may have been modified by a 3rd party while we were validating the first copy. This will also save a read for some requests, but that's of less importance.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/VMMDev/VMMDev.cpp

    r44788 r44790  
    25072507            if (pRequestHeader)
    25082508            {
    2509                 PDMDevHlpPhysRead(pDevIns, (RTGCPHYS)u32, pRequestHeader, requestHeader.size);
     2509                memcpy(pRequestHeader, &requestHeader, sizeof(VMMDevRequestHeader));
     2510                size_t cbLeft = requestHeader.size - sizeof(VMMDevRequestHeader);
     2511                if (cbLeft)
     2512                    PDMDevHlpPhysRead(pDevIns,
     2513                                      (RTGCPHYS)u32             + sizeof(VMMDevRequestHeader),
     2514                                      (uint8_t *)pRequestHeader + sizeof(VMMDevRequestHeader),
     2515                                      cbLeft);
    25102516
    25112517                PDMCritSectEnter(&pThis->CritSect, VERR_IGNORED);
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