VirtualBox

Changeset 57374 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Aug 14, 2015 10:54:47 PM (9 years ago)
Author:
vboxsync
Message:

SUPDrv-darwin.cpp: An a little bit more.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostDrivers/Support/darwin/SUPDrv-darwin.cpp

    r57371 r57374  
    717717         * Get the header and figure out how much we're gonna have to read.
    718718         */
     719        IPRT_DARWIN_SAVE_EFL_AC();
    719720        SUPREQHDR Hdr;
    720721        pUser = (user_addr_t)*(void **)pData;
     
    723724        {
    724725            OSDBGPRINT(("VBoxDrvDarwinIOCtlSlow: copyin(%llx,Hdr,) -> %#x; iCmd=%#lx\n", (unsigned long long)pUser, rc, iCmd));
     726            IPRT_DARWIN_RESTORE_EFL_AC();
    725727            return rc;
    726728        }
     
    728730        {
    729731            OSDBGPRINT(("VBoxDrvDarwinIOCtlSlow: bad magic fFlags=%#x; iCmd=%#lx\n", Hdr.fFlags, iCmd));
     732            IPRT_DARWIN_SAVE_EFL_AC();
    730733            return EINVAL;
    731734        }
     
    736739        {
    737740            OSDBGPRINT(("VBoxDrvDarwinIOCtlSlow: max(%#x,%#x); iCmd=%#lx\n", Hdr.cbIn, Hdr.cbOut, iCmd));
     741            IPRT_DARWIN_SAVE_EFL_AC();
    738742            return EINVAL;
    739743        }
     
    748752        {
    749753            OSDBGPRINT(("VBoxDrvDarwinIOCtlSlow: failed to allocate buffer of %d bytes; iCmd=%#lx\n", cbReq, iCmd));
     754            IPRT_DARWIN_RESTORE_EFL_AC();
    750755            return ENOMEM;
    751756        }
     
    759764            else
    760765                RTMemTmpFree(pHdr);
     766            IPRT_DARWIN_RESTORE_EFL_AC();
    761767            return rc;
    762768        }
    763769        if (Hdr.cbIn < cbReq)
    764770            RT_BZERO((uint8_t *)pHdr + Hdr.cbIn, cbReq - Hdr.cbIn);
     771        IPRT_DARWIN_RESTORE_EFL_AC();
    765772    }
    766773    else
     
    781788        if (pUser)
    782789        {
     790            IPRT_DARWIN_SAVE_EFL_AC();
    783791            uint32_t cbOut = pHdr->cbOut;
    784792            if (cbOut > cbReq)
     
    797805            else
    798806                RTMemTmpFree(pHdr);
     807            IPRT_DARWIN_RESTORE_EFL_AC();
    799808        }
    800809    }
     
    807816        {
    808817            if (pvPageBuf)
     818            {
     819                IPRT_DARWIN_SAVE_EFL_AC();
    809820                IOFreeAligned(pvPageBuf, RT_ALIGN_Z(cbReq, PAGE_SIZE));
     821                IPRT_DARWIN_RESTORE_EFL_AC();
     822            }
    810823            else
    811824                RTMemTmpFree(pHdr);
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