VirtualBox

Ignore:
Timestamp:
Mar 5, 2018 10:59:17 AM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
121103
Message:

SUPDrv,VMMR0: Prepped for extending the fast I/O control interface a bit for NEM; SUPDRV version increment. bugref:9044

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c

    r69500 r71198  
    582582     * the session and iCmd, and only returns a VBox status code.
    583583     */
     584    AssertCompile(_IOC_NRSHIFT == 0 && _IOC_NRBITS == 8);
    584585#ifdef HAVE_UNLOCKED_IOCTL
    585     if (RT_LIKELY(   (   uCmd == SUP_IOCTL_FAST_DO_RAW_RUN
    586                       || uCmd == SUP_IOCTL_FAST_DO_HM_RUN
    587                       || uCmd == SUP_IOCTL_FAST_DO_NOP)
     586    if (RT_LIKELY(   (unsigned int)(uCmd - SUP_IOCTL_FAST_DO_FIRST) < (unsigned int)32)
    588587                  && pSession->fUnrestricted == true))
    589         rc = supdrvIOCtlFast(uCmd, ulArg, &g_DevExt, pSession);
     588        rc = supdrvIOCtlFast(uCmd - SUP_IOCTL_FAST_DO_FIRST, ulArg, &g_DevExt, pSession);
    590589    else
    591590        rc = VBoxDrvLinuxIOCtlSlow(pFilp, uCmd, ulArg, pSession);
    592591#else   /* !HAVE_UNLOCKED_IOCTL */
    593592    unlock_kernel();
    594     if (RT_LIKELY(   (   uCmd == SUP_IOCTL_FAST_DO_RAW_RUN
    595                       || uCmd == SUP_IOCTL_FAST_DO_HM_RUN
    596                       || uCmd == SUP_IOCTL_FAST_DO_NOP)
     593    if (RT_LIKELY(   (unsigned int)(uCmd - SUP_IOCTL_FAST_DO_FIRST) < (unsigned int)32)
    597594                  && pSession->fUnrestricted == true))
    598         rc = supdrvIOCtlFast(uCmd, ulArg, &g_DevExt, pSession);
     595        rc = supdrvIOCtlFast(uCmd - SUP_IOCTL_FAST_DO_FIRST, ulArg, &g_DevExt, pSession);
    599596    else
    600597        rc = VBoxDrvLinuxIOCtlSlow(pFilp, uCmd, ulArg, pSession);
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