VirtualBox

Changeset 99318 in vbox for trunk/src


Ignore:
Timestamp:
Apr 6, 2023 4:02:43 PM (22 months ago)
Author:
vboxsync
Message:

VMM/IEM: Nested VMX: bugref:10318 Fixed race while registering the virtual VMX APIC-access page by multiple VCPUs.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/IEMAllCImplVmxInstr.cpp

    r99273 r99318  
    71817181         * See Intel spec. 24.11.4 "Software Access to Related Structures".
    71827182         */
    7183         if (!PGMHandlerPhysicalIsRegistered(pVCpu->CTX_SUFF(pVM), GCPhysApicAccess))
    7184         {
    7185             PVMCC pVM = pVCpu->CTX_SUFF(pVM);
    7186             int rc = PGMHandlerPhysicalRegister(pVM, GCPhysApicAccess, GCPhysApicAccess | X86_PAGE_4K_OFFSET_MASK,
    7187                                                 pVM->iem.s.hVmxApicAccessPage, 0 /*uUser*/, NULL /*pszDesc*/);
    7188             if (RT_SUCCESS(rc))
    7189             { /* likely */ }
    7190             else
    7191                 IEM_VMX_VMENTRY_FAILED_RET(pVCpu, pszInstr, pszFailure, kVmxVDiag_Vmentry_AddrApicAccessHandlerReg);
    7192         }
     7183        PVMCC pVM = pVCpu->CTX_SUFF(pVM);
     7184        int rc = PGMHandlerPhysicalRegisterVmxApicAccessPage(pVM, GCPhysApicAccess, pVM->iem.s.hVmxApicAccessPage);
     7185        if (RT_SUCCESS(rc))
     7186        { /* likely */ }
     7187        else
     7188            IEM_VMX_VMENTRY_FAILED_RET(pVCpu, pszInstr, pszFailure, kVmxVDiag_Vmentry_AddrApicAccessHandlerReg);
    71937189    }
    71947190
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