VirtualBox

Changeset 66155 in vbox


Ignore:
Timestamp:
Mar 17, 2017 2:38:19 PM (8 years ago)
Author:
vboxsync
Message:

vmR3EmulationThreadWithId: Need to check both pVM and pVCpu are non-NULL before assumping we're good to use any of them. Potential SMP bootstrap race. Kudos to Alexander Boettcher for pointing it out.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR3/VMEmt.cpp

    r66097 r66155  
    9797    {
    9898        /*
    99          * During early init there is no pVM, so make a special path
     99         * During early init there is no pVM and/or pVCpu, so make a special path
    100100         * for that to keep things clearly separate.
    101101         */
    102         if (!pUVM->pVM)
     102        PVM    pVM   = pUVM->pVM;
     103        PVMCPU pVCpu = pUVCpu->pVCpu;
     104        if (!pVCpu || !pVM)
    103105        {
    104106            /*
     
    154156             * servicing requests. (Look after the ifs.)
    155157             */
    156             PVM    pVM   = pUVM->pVM;
    157             PVMCPU pVCpu = pUVCpu->pVCpu;
    158158            enmBefore = pVM->enmVMState;
    159159            if (pUVM->vm.s.fTerminateEMT)
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