VirtualBox

Changeset 57244 in vbox


Ignore:
Timestamp:
Aug 7, 2015 2:50:48 PM (10 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
101998
Message:

VMMR0.cpp,SUPDrv-darwin.cpp: More AC=0 checks and details.

Location:
trunk/src/VBox
Files:
2 edited

Legend:

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

    r57229 r57244  
    671671#if defined(VBOX_STRICT) || defined(VBOX_WITH_EFLAGS_AC_SET_IN_VBOXDRV)
    672672    if (RT_UNLIKELY(!(ASMGetFlags() & X86_EFL_AC)))
    673         supdrvBadContext(&g_DevExt, "SUPDrv-darwin.cpp",  __LINE__, "VBoxDrvDarwinIOCtlSMAP");
     673    {
     674        char szTmp[32];
     675        RTStrPrintf(szTmp, sizeof(szTmp), "iCmd=%#x!", iCmd);
     676        supdrvBadContext(&g_DevExt, "SUPDrv-darwin.cpp",  __LINE__, szTmp);
     677    }
    674678#endif
    675679    ASMSetFlags(fSavedEfl);
  • trunk/src/VBox/VMM/VMMR0/VMMR0.cpp

    r57237 r57244  
    9595            else \
    9696            { \
    97                 SUPR0BadContext((a_pVM)->pSession, __FILE__, __LINE__, "EFLAGS.AC is zero!"); \
     97                SUPR0BadContext((a_pVM) ? (a_pVM)->pSession : NULL, __FILE__, __LINE__, "EFLAGS.AC is zero!"); \
    9898                RTStrPrintf(pVM->vmm.s.szRing0AssertMsg1, sizeof(pVM->vmm.s.szRing0AssertMsg1), \
    9999                            "%s, line %d: EFLAGS.AC is clear! (%#x)\n", __FUNCTION__, __LINE__, (uint32_t)fEflCheck); \
     
    937937    if (RT_UNLIKELY(pVCpu->hNativeThreadR0 != RTThreadNativeSelf()))
    938938        return;
     939    VMM_CHECK_SMAP_SETUP();
     940    VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
    939941
    940942    /*
     
    11001102                if (pVM->vmm.s.fUsePeriodicPreemptionTimers)
    11011103                    GVMMR0SchedUpdatePeriodicPreemptionTimer(pVM, pVCpu->idHostCpu, TMCalcHostTimerFrequency(pVM, pVCpu));
     1104                VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
    11021105
    11031106#ifdef LOG_ENABLED
     
    11511154                         * Setup the longjmp machinery and execute guest code (calls HMR0RunGuestCode).
    11521155                         */
     1156                        VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
    11531157                        rc = vmmR0CallRing3SetJmp(&pVCpu->vmm.s.CallRing3JmpBufR0, HMR0RunGuestCode, pVM, pVCpu);
     1158                        VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
    11541159
    11551160                        /*
     
    12601265            break;
    12611266    }
     1267    VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
    12621268}
    12631269
     
    13331339        return VERR_INVALID_PARAMETER;
    13341340    }
    1335 
     1341    VMM_CHECK_SMAP_SETUP();
     1342    VMM_CHECK_SMAP_CHECK(RT_NOTHING);
     1343    int rc;
    13361344
    13371345    switch (enmOperation)
     
    13431351            if (pVM || u64Arg || idCpu != NIL_VMCPUID)
    13441352                return VERR_INVALID_PARAMETER;
    1345             return GVMMR0CreateVMReq((PGVMMCREATEVMREQ)pReqHdr);
     1353            rc = GVMMR0CreateVMReq((PGVMMCREATEVMREQ)pReqHdr);
     1354            VMM_CHECK_SMAP_CHECK(RT_NOTHING);
     1355            break;
    13461356
    13471357        case VMMR0_DO_GVMM_DESTROY_VM:
    13481358            if (pReqHdr || u64Arg)
    13491359                return VERR_INVALID_PARAMETER;
    1350             return GVMMR0DestroyVM(pVM);
     1360            rc = GVMMR0DestroyVM(pVM);
     1361            VMM_CHECK_SMAP_CHECK(RT_NOTHING);
     1362            break;
    13511363
    13521364        case VMMR0_DO_GVMM_REGISTER_VMCPU:
     
    13541366            if (!pVM)
    13551367                return VERR_INVALID_PARAMETER;
    1356             return GVMMR0RegisterVCpu(pVM, idCpu);
     1368            rc = GVMMR0RegisterVCpu(pVM, idCpu);
     1369            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1370            break;
    13571371        }
    13581372
     
    13601374            if (pReqHdr)
    13611375                return VERR_INVALID_PARAMETER;
    1362             return GVMMR0SchedHalt(pVM, idCpu, u64Arg);
     1376            rc = GVMMR0SchedHalt(pVM, idCpu, u64Arg);
     1377            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1378            break;
    13631379
    13641380        case VMMR0_DO_GVMM_SCHED_WAKE_UP:
    13651381            if (pReqHdr || u64Arg)
    13661382                return VERR_INVALID_PARAMETER;
    1367             return GVMMR0SchedWakeUp(pVM, idCpu);
     1383            rc = GVMMR0SchedWakeUp(pVM, idCpu);
     1384            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1385            break;
    13681386
    13691387        case VMMR0_DO_GVMM_SCHED_POKE:
    13701388            if (pReqHdr || u64Arg)
    13711389                return VERR_INVALID_PARAMETER;
    1372             return GVMMR0SchedPoke(pVM, idCpu);
     1390            rc = GVMMR0SchedPoke(pVM, idCpu);
     1391            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1392            break;
    13731393
    13741394        case VMMR0_DO_GVMM_SCHED_WAKE_UP_AND_POKE_CPUS:
    13751395            if (u64Arg)
    13761396                return VERR_INVALID_PARAMETER;
    1377             return GVMMR0SchedWakeUpAndPokeCpusReq(pVM, (PGVMMSCHEDWAKEUPANDPOKECPUSREQ)pReqHdr);
     1397            rc = GVMMR0SchedWakeUpAndPokeCpusReq(pVM, (PGVMMSCHEDWAKEUPANDPOKECPUSREQ)pReqHdr);
     1398            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1399            break;
    13781400
    13791401        case VMMR0_DO_GVMM_SCHED_POLL:
    13801402            if (pReqHdr || u64Arg > 1)
    13811403                return VERR_INVALID_PARAMETER;
    1382             return GVMMR0SchedPoll(pVM, idCpu, !!u64Arg);
     1404            rc = GVMMR0SchedPoll(pVM, idCpu, !!u64Arg);
     1405            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1406            break;
    13831407
    13841408        case VMMR0_DO_GVMM_QUERY_STATISTICS:
    13851409            if (u64Arg)
    13861410                return VERR_INVALID_PARAMETER;
    1387             return GVMMR0QueryStatisticsReq(pVM, (PGVMMQUERYSTATISTICSSREQ)pReqHdr);
     1411            rc = GVMMR0QueryStatisticsReq(pVM, (PGVMMQUERYSTATISTICSSREQ)pReqHdr);
     1412            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1413            break;
    13881414
    13891415        case VMMR0_DO_GVMM_RESET_STATISTICS:
    13901416            if (u64Arg)
    13911417                return VERR_INVALID_PARAMETER;
    1392             return GVMMR0ResetStatisticsReq(pVM, (PGVMMRESETSTATISTICSSREQ)pReqHdr);
     1418            rc = GVMMR0ResetStatisticsReq(pVM, (PGVMMRESETSTATISTICSSREQ)pReqHdr);
     1419            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1420            break;
    13931421
    13941422        /*
     
    13961424         */
    13971425        case VMMR0_DO_VMMR0_INIT:
    1398             return vmmR0InitVM(pVM, RT_LODWORD(u64Arg), RT_HIDWORD(u64Arg));
     1426            rc = vmmR0InitVM(pVM, RT_LODWORD(u64Arg), RT_HIDWORD(u64Arg));
     1427            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1428            break;
    13991429
    14001430        /*
     
    14021432         */
    14031433        case VMMR0_DO_VMMR0_TERM:
    1404             return VMMR0TermVM(pVM, NULL);
     1434            rc = VMMR0TermVM(pVM, NULL);
     1435            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1436            break;
    14051437
    14061438        /*
     
    14081440         */
    14091441        case VMMR0_DO_HM_ENABLE:
    1410             return HMR0EnableAllCpus(pVM);
     1442            rc = HMR0EnableAllCpus(pVM);
     1443            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1444            break;
    14111445
    14121446        /*
     
    14141448         */
    14151449        case VMMR0_DO_HM_SETUP_VM:
    1416             return HMR0SetupVM(pVM);
     1450            rc = HMR0SetupVM(pVM);
     1451            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1452            break;
    14171453
    14181454        /*
     
    14741510             */
    14751511            bool fVTxDisabled;
    1476             int rc = HMR0EnterSwitcher(pVM, pVM->vmm.s.enmSwitcher, &fVTxDisabled);
     1512            rc = HMR0EnterSwitcher(pVM, pVM->vmm.s.enmSwitcher, &fVTxDisabled);
    14771513            if (RT_SUCCESS(rc))
    14781514            {
     
    14981534            ASMAtomicWriteU32(&pVCpu->idHostCpu, NIL_RTCPUID);
    14991535            ASMSetFlags(fFlags);
    1500             return rc;
    15011536
    15021537#else  /* !VBOX_WITH_RAW_MODE */
    1503             return VERR_RAW_MODE_NOT_SUPPORTED;
    1504 #endif
     1538            rc = VERR_RAW_MODE_NOT_SUPPORTED;
     1539#endif
     1540            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1541            break;
    15051542        }
    15061543
     
    15111548            if (idCpu == NIL_VMCPUID)
    15121549                return VERR_INVALID_CPU_ID;
    1513             return PGMR0PhysAllocateHandyPages(pVM, &pVM->aCpus[idCpu]);
     1550            rc = PGMR0PhysAllocateHandyPages(pVM, &pVM->aCpus[idCpu]);
     1551            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1552            break;
    15141553
    15151554        case VMMR0_DO_PGM_FLUSH_HANDY_PAGES:
    15161555            if (idCpu == NIL_VMCPUID)
    15171556                return VERR_INVALID_CPU_ID;
    1518             return PGMR0PhysFlushHandyPages(pVM, &pVM->aCpus[idCpu]);
     1557            rc = PGMR0PhysFlushHandyPages(pVM, &pVM->aCpus[idCpu]);
     1558            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1559            break;
    15191560
    15201561        case VMMR0_DO_PGM_ALLOCATE_LARGE_HANDY_PAGE:
    15211562            if (idCpu == NIL_VMCPUID)
    15221563                return VERR_INVALID_CPU_ID;
    1523             return PGMR0PhysAllocateLargeHandyPage(pVM, &pVM->aCpus[idCpu]);
     1564            rc = PGMR0PhysAllocateLargeHandyPage(pVM, &pVM->aCpus[idCpu]);
     1565            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1566            break;
    15241567
    15251568        case VMMR0_DO_PGM_PHYS_SETUP_IOMMU:
    15261569            if (idCpu != 0)
    15271570                return VERR_INVALID_CPU_ID;
    1528             return PGMR0PhysSetupIommu(pVM);
     1571            rc = PGMR0PhysSetupIommu(pVM);
     1572            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1573            break;
    15291574
    15301575        /*
     
    15341579            if (u64Arg)
    15351580                return VERR_INVALID_PARAMETER;
    1536             return GMMR0InitialReservationReq(pVM, idCpu, (PGMMINITIALRESERVATIONREQ)pReqHdr);
     1581            rc = GMMR0InitialReservationReq(pVM, idCpu, (PGMMINITIALRESERVATIONREQ)pReqHdr);
     1582            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1583            break;
    15371584
    15381585        case VMMR0_DO_GMM_UPDATE_RESERVATION:
    15391586            if (u64Arg)
    15401587                return VERR_INVALID_PARAMETER;
    1541             return GMMR0UpdateReservationReq(pVM, idCpu, (PGMMUPDATERESERVATIONREQ)pReqHdr);
     1588            rc = GMMR0UpdateReservationReq(pVM, idCpu, (PGMMUPDATERESERVATIONREQ)pReqHdr);
     1589            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1590            break;
    15421591
    15431592        case VMMR0_DO_GMM_ALLOCATE_PAGES:
    15441593            if (u64Arg)
    15451594                return VERR_INVALID_PARAMETER;
    1546             return GMMR0AllocatePagesReq(pVM, idCpu, (PGMMALLOCATEPAGESREQ)pReqHdr);
     1595            rc = GMMR0AllocatePagesReq(pVM, idCpu, (PGMMALLOCATEPAGESREQ)pReqHdr);
     1596            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1597            break;
    15471598
    15481599        case VMMR0_DO_GMM_FREE_PAGES:
    15491600            if (u64Arg)
    15501601                return VERR_INVALID_PARAMETER;
    1551             return GMMR0FreePagesReq(pVM, idCpu, (PGMMFREEPAGESREQ)pReqHdr);
     1602            rc = GMMR0FreePagesReq(pVM, idCpu, (PGMMFREEPAGESREQ)pReqHdr);
     1603            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1604            break;
    15521605
    15531606        case VMMR0_DO_GMM_FREE_LARGE_PAGE:
    15541607            if (u64Arg)
    15551608                return VERR_INVALID_PARAMETER;
    1556             return GMMR0FreeLargePageReq(pVM, idCpu, (PGMMFREELARGEPAGEREQ)pReqHdr);
     1609            rc = GMMR0FreeLargePageReq(pVM, idCpu, (PGMMFREELARGEPAGEREQ)pReqHdr);
     1610            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1611            break;
    15571612
    15581613        case VMMR0_DO_GMM_QUERY_HYPERVISOR_MEM_STATS:
    15591614            if (u64Arg)
    15601615                return VERR_INVALID_PARAMETER;
    1561             return GMMR0QueryHypervisorMemoryStatsReq(pVM, (PGMMMEMSTATSREQ)pReqHdr);
     1616            rc = GMMR0QueryHypervisorMemoryStatsReq(pVM, (PGMMMEMSTATSREQ)pReqHdr);
     1617            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1618            break;
    15621619
    15631620        case VMMR0_DO_GMM_QUERY_MEM_STATS:
     
    15661623            if (u64Arg)
    15671624                return VERR_INVALID_PARAMETER;
    1568             return GMMR0QueryMemoryStatsReq(pVM, idCpu, (PGMMMEMSTATSREQ)pReqHdr);
     1625            rc = GMMR0QueryMemoryStatsReq(pVM, idCpu, (PGMMMEMSTATSREQ)pReqHdr);
     1626            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1627            break;
    15691628
    15701629        case VMMR0_DO_GMM_BALLOONED_PAGES:
    15711630            if (u64Arg)
    15721631                return VERR_INVALID_PARAMETER;
    1573             return GMMR0BalloonedPagesReq(pVM, idCpu, (PGMMBALLOONEDPAGESREQ)pReqHdr);
     1632            rc = GMMR0BalloonedPagesReq(pVM, idCpu, (PGMMBALLOONEDPAGESREQ)pReqHdr);
     1633            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1634            break;
    15741635
    15751636        case VMMR0_DO_GMM_MAP_UNMAP_CHUNK:
    15761637            if (u64Arg)
    15771638                return VERR_INVALID_PARAMETER;
    1578             return GMMR0MapUnmapChunkReq(pVM, (PGMMMAPUNMAPCHUNKREQ)pReqHdr);
     1639            rc = GMMR0MapUnmapChunkReq(pVM, (PGMMMAPUNMAPCHUNKREQ)pReqHdr);
     1640            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1641            break;
    15791642
    15801643        case VMMR0_DO_GMM_SEED_CHUNK:
    15811644            if (pReqHdr)
    15821645                return VERR_INVALID_PARAMETER;
    1583             return GMMR0SeedChunk(pVM, idCpu, (RTR3PTR)u64Arg);
     1646            rc = GMMR0SeedChunk(pVM, idCpu, (RTR3PTR)u64Arg);
     1647            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1648            break;
    15841649
    15851650        case VMMR0_DO_GMM_REGISTER_SHARED_MODULE:
     
    15881653            if (u64Arg)
    15891654                return VERR_INVALID_PARAMETER;
    1590             return GMMR0RegisterSharedModuleReq(pVM, idCpu, (PGMMREGISTERSHAREDMODULEREQ)pReqHdr);
     1655            rc = GMMR0RegisterSharedModuleReq(pVM, idCpu, (PGMMREGISTERSHAREDMODULEREQ)pReqHdr);
     1656            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1657            break;
    15911658
    15921659        case VMMR0_DO_GMM_UNREGISTER_SHARED_MODULE:
     
    15951662            if (u64Arg)
    15961663                return VERR_INVALID_PARAMETER;
    1597             return GMMR0UnregisterSharedModuleReq(pVM, idCpu, (PGMMUNREGISTERSHAREDMODULEREQ)pReqHdr);
     1664            rc = GMMR0UnregisterSharedModuleReq(pVM, idCpu, (PGMMUNREGISTERSHAREDMODULEREQ)pReqHdr);
     1665            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1666            break;
    15981667
    15991668        case VMMR0_DO_GMM_RESET_SHARED_MODULES:
     
    16031672                ||  pReqHdr)
    16041673                return VERR_INVALID_PARAMETER;
    1605             return GMMR0ResetSharedModules(pVM, idCpu);
     1674            rc = GMMR0ResetSharedModules(pVM, idCpu);
     1675            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1676            break;
    16061677
    16071678#ifdef VBOX_WITH_PAGE_SHARING
     
    16201691            /* Make sure that log flushes can jump back to ring-3; annoying to get an incomplete log (this is risky though as the code doesn't take this into account). */
    16211692            /* Todo: this can have bad side effects for unexpected jumps back to r3. */
    1622             int rc = GMMR0CheckSharedModulesStart(pVM);
     1693            rc = GMMR0CheckSharedModulesStart(pVM);
    16231694            if (rc == VINF_SUCCESS)
    16241695            {
     
    16291700            }
    16301701# else
    1631             int rc = GMMR0CheckSharedModules(pVM, pVCpu);
     1702            rc = GMMR0CheckSharedModules(pVM, pVCpu);
    16321703# endif
    1633             return rc;
     1704            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1705            break;
    16341706        }
    16351707#endif
     
    16391711            if (u64Arg)
    16401712                return VERR_INVALID_PARAMETER;
    1641             return GMMR0FindDuplicatePageReq(pVM, (PGMMFINDDUPLICATEPAGEREQ)pReqHdr);
     1713            rc = GMMR0FindDuplicatePageReq(pVM, (PGMMFINDDUPLICATEPAGEREQ)pReqHdr);
     1714            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1715            break;
    16421716#endif
    16431717
     
    16451719            if (u64Arg)
    16461720                return VERR_INVALID_PARAMETER;
    1647             return GMMR0QueryStatisticsReq(pVM, (PGMMQUERYSTATISTICSSREQ)pReqHdr);
     1721            rc = GMMR0QueryStatisticsReq(pVM, (PGMMQUERYSTATISTICSSREQ)pReqHdr);
     1722            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1723            break;
    16481724
    16491725        case VMMR0_DO_GMM_RESET_STATISTICS:
    16501726            if (u64Arg)
    16511727                return VERR_INVALID_PARAMETER;
    1652             return GMMR0ResetStatisticsReq(pVM, (PGMMRESETSTATISTICSSREQ)pReqHdr);
     1728            rc = GMMR0ResetStatisticsReq(pVM, (PGMMRESETSTATISTICSSREQ)pReqHdr);
     1729            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1730            break;
    16531731
    16541732        /*
     
    16641742            if (pReq->Hdr.cbReq != sizeof(*pReq))
    16651743                return VERR_INVALID_PARAMETER;
    1666             int rc;
    16671744            if (enmOperation == VMMR0_DO_GCFGM_SET_VALUE)
    16681745            {
     
    16771754                //    rc = GMMR0QueryConfig(pReq->pSession, &pReq->szName[0], &pReq->u64Value);
    16781755            }
    1679             return rc;
     1756            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1757            break;
    16801758        }
    16811759
     
    16871765            if (!pVM || !pReqHdr || u64Arg || idCpu != NIL_VMCPUID)
    16881766                return VERR_INVALID_PARAMETER;
    1689             return PDMR0DriverCallReqHandler(pVM, (PPDMDRIVERCALLREQHANDLERREQ)pReqHdr);
     1767            rc = PDMR0DriverCallReqHandler(pVM, (PPDMDRIVERCALLREQHANDLERREQ)pReqHdr);
     1768            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1769            break;
    16901770        }
    16911771
     
    16941774            if (!pVM || !pReqHdr || u64Arg || idCpu != NIL_VMCPUID)
    16951775                return VERR_INVALID_PARAMETER;
    1696             return PDMR0DeviceCallReqHandler(pVM, (PPDMDEVICECALLREQHANDLERREQ)pReqHdr);
     1776            rc = PDMR0DeviceCallReqHandler(pVM, (PPDMDEVICECALLREQHANDLERREQ)pReqHdr);
     1777            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1778            break;
    16971779        }
    16981780
     
    17051787            if (u64Arg || !pReq || !vmmR0IsValidSession(pVM, pReq->pSession, pSession) || idCpu != NIL_VMCPUID)
    17061788                return VERR_INVALID_PARAMETER;
    1707             return IntNetR0OpenReq(pSession, pReq);
     1789            rc = IntNetR0OpenReq(pSession, pReq);
     1790            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1791            break;
    17081792        }
    17091793
     
    17111795            if (u64Arg || !pReqHdr || !vmmR0IsValidSession(pVM, ((PINTNETIFCLOSEREQ)pReqHdr)->pSession, pSession) || idCpu != NIL_VMCPUID)
    17121796                return VERR_INVALID_PARAMETER;
    1713             return IntNetR0IfCloseReq(pSession, (PINTNETIFCLOSEREQ)pReqHdr);
     1797            rc = IntNetR0IfCloseReq(pSession, (PINTNETIFCLOSEREQ)pReqHdr);
     1798            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1799            break;
     1800
    17141801
    17151802        case VMMR0_DO_INTNET_IF_GET_BUFFER_PTRS:
    17161803            if (u64Arg || !pReqHdr || !vmmR0IsValidSession(pVM, ((PINTNETIFGETBUFFERPTRSREQ)pReqHdr)->pSession, pSession) || idCpu != NIL_VMCPUID)
    17171804                return VERR_INVALID_PARAMETER;
    1718             return IntNetR0IfGetBufferPtrsReq(pSession, (PINTNETIFGETBUFFERPTRSREQ)pReqHdr);
     1805            rc = IntNetR0IfGetBufferPtrsReq(pSession, (PINTNETIFGETBUFFERPTRSREQ)pReqHdr);
     1806            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1807            break;
    17191808
    17201809        case VMMR0_DO_INTNET_IF_SET_PROMISCUOUS_MODE:
    17211810            if (u64Arg || !pReqHdr || !vmmR0IsValidSession(pVM, ((PINTNETIFSETPROMISCUOUSMODEREQ)pReqHdr)->pSession, pSession) || idCpu != NIL_VMCPUID)
    17221811                return VERR_INVALID_PARAMETER;
    1723             return IntNetR0IfSetPromiscuousModeReq(pSession, (PINTNETIFSETPROMISCUOUSMODEREQ)pReqHdr);
     1812            rc = IntNetR0IfSetPromiscuousModeReq(pSession, (PINTNETIFSETPROMISCUOUSMODEREQ)pReqHdr);
     1813            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1814            break;
    17241815
    17251816        case VMMR0_DO_INTNET_IF_SET_MAC_ADDRESS:
    17261817            if (u64Arg || !pReqHdr || !vmmR0IsValidSession(pVM, ((PINTNETIFSETMACADDRESSREQ)pReqHdr)->pSession, pSession) || idCpu != NIL_VMCPUID)
    17271818                return VERR_INVALID_PARAMETER;
    1728             return IntNetR0IfSetMacAddressReq(pSession, (PINTNETIFSETMACADDRESSREQ)pReqHdr);
     1819            rc = IntNetR0IfSetMacAddressReq(pSession, (PINTNETIFSETMACADDRESSREQ)pReqHdr);
     1820            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1821            break;
    17291822
    17301823        case VMMR0_DO_INTNET_IF_SET_ACTIVE:
    17311824            if (u64Arg || !pReqHdr || !vmmR0IsValidSession(pVM, ((PINTNETIFSETACTIVEREQ)pReqHdr)->pSession, pSession) || idCpu != NIL_VMCPUID)
    17321825                return VERR_INVALID_PARAMETER;
    1733             return IntNetR0IfSetActiveReq(pSession, (PINTNETIFSETACTIVEREQ)pReqHdr);
     1826            rc = IntNetR0IfSetActiveReq(pSession, (PINTNETIFSETACTIVEREQ)pReqHdr);
     1827            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1828            break;
    17341829
    17351830        case VMMR0_DO_INTNET_IF_SEND:
    17361831            if (u64Arg || !pReqHdr || !vmmR0IsValidSession(pVM, ((PINTNETIFSENDREQ)pReqHdr)->pSession, pSession) || idCpu != NIL_VMCPUID)
    17371832                return VERR_INVALID_PARAMETER;
    1738             return IntNetR0IfSendReq(pSession, (PINTNETIFSENDREQ)pReqHdr);
     1833            rc = IntNetR0IfSendReq(pSession, (PINTNETIFSENDREQ)pReqHdr);
     1834            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1835            break;
    17391836
    17401837        case VMMR0_DO_INTNET_IF_WAIT:
    17411838            if (u64Arg || !pReqHdr || !vmmR0IsValidSession(pVM, ((PINTNETIFWAITREQ)pReqHdr)->pSession, pSession) || idCpu != NIL_VMCPUID)
    17421839                return VERR_INVALID_PARAMETER;
    1743             return IntNetR0IfWaitReq(pSession, (PINTNETIFWAITREQ)pReqHdr);
     1840            rc = IntNetR0IfWaitReq(pSession, (PINTNETIFWAITREQ)pReqHdr);
     1841            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1842            break;
    17441843
    17451844        case VMMR0_DO_INTNET_IF_ABORT_WAIT:
    17461845            if (u64Arg || !pReqHdr || !vmmR0IsValidSession(pVM, ((PINTNETIFWAITREQ)pReqHdr)->pSession, pSession) || idCpu != NIL_VMCPUID)
    17471846                return VERR_INVALID_PARAMETER;
    1748             return IntNetR0IfAbortWaitReq(pSession, (PINTNETIFABORTWAITREQ)pReqHdr);
     1847            rc = IntNetR0IfAbortWaitReq(pSession, (PINTNETIFABORTWAITREQ)pReqHdr);
     1848            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1849            break;
    17491850
    17501851#ifdef VBOX_WITH_PCI_PASSTHROUGH
     
    17551856            if (u64Arg || !pReqHdr || !vmmR0IsValidSession(pVM, ((PPCIRAWSENDREQ)pReqHdr)->pSession, pSession) || idCpu != NIL_VMCPUID)
    17561857                return VERR_INVALID_PARAMETER;
    1757             return PciRawR0ProcessReq(pSession, pVM, (PPCIRAWSENDREQ)pReqHdr);
     1858            rc = PciRawR0ProcessReq(pSession, pVM, (PPCIRAWSENDREQ)pReqHdr);
     1859            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1860            break;
    17581861#endif
    17591862        /*
     
    17761879            if (idCpu == NIL_VMCPUID)
    17771880                return VERR_INVALID_CPU_ID;
    1778             return HMR0TestSwitcher3264(pVM);
     1881            rc = HMR0TestSwitcher3264(pVM);
     1882            VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
     1883            break;
    17791884#endif
    17801885        default:
     
    17861891            return VERR_NOT_SUPPORTED;
    17871892    }
     1893    return rc;
    17881894}
    17891895
Note: See TracChangeset for help on using the changeset viewer.

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