VirtualBox

Changeset 78615 in vbox for trunk/src/VBox


Ignore:
Timestamp:
May 21, 2019 6:41:34 AM (6 years ago)
Author:
vboxsync
Message:

VMM/HMVMXR0: Nested VMX: bugref:9180 Need to zero-out VMX-transient fields for change done in r130680 which might skip it.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp

    r78614 r78615  
    1253412534            {
    1253512535                /*
    12536                  * INS/OUTS (String I/O) instructions gives us additional information
    12537                  * when the feature is supported (by the CPU and exposed to the guest).
     12536                 * IN/OUT instruction:
     12537                 *   - Provides VM-exit instruction length.
    1253812538                 *
    12539                  * Instruction length is available for IN/OUT as well as INS/OUTS.
     12539                 * INS/OUTS instruction:
     12540                 *   - Provides VM-exit instruction length.
     12541                 *   - Provides Guest-linear address.
     12542                 *   - Optionally provides VM-exit instruction info (depends on CPU feature).
    1254012543                 */
    1254112544                PVM pVM = pVCpu->CTX_SUFF(pVM);
    1254212545                rc = hmR0VmxReadExitInstrLenVmcs(pVmxTransient);
    1254312546                AssertRCReturn(rc, rc);
     12547
     12548                /* Make sure we don't use stale VMX-transient info. */
     12549                pVmxTransient->ExitInstrInfo.u  = 0;
     12550                pVmxTransient->uGuestLinearAddr = 0;
    1254412551
    1254512552                bool const fVmxInsOutsInfo = pVM->cpum.ro.GuestFeatures.fVmxInsOutInfo;
     
    1255312560                        rc |= hmR0VmxReadExitInstrInfoVmcs(pVmxTransient);
    1255412561                    }
    12555                     else
    12556                         pVmxTransient->ExitInstrInfo.u  = 0;
    1255712562                }
    12558                 else
    12559                     pVmxTransient->uGuestLinearAddr = 0;
    1256012563                AssertRCReturn(rc, rc);
    1256112564
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