VirtualBox

Changeset 105710 in vbox for trunk/src/VBox/Devices


Ignore:
Timestamp:
Aug 16, 2024 1:55:32 PM (3 months ago)
Author:
vboxsync
Message:

DevBusLogic: Avoid a deadlock that can happen with broken guests that place the mailbox at a non-RAM address (see bugref:10740).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Storage/DevBusLogic.cpp

    r104233 r105710  
    13911391    MbxIn.u.in.uCompletionCode     = uMailboxCompletionCode;
    13921392
    1393     int rc = PDMDevHlpCritSectEnter(pDevIns, &pThis->CritSectIntr, VINF_SUCCESS);
    1394     PDM_CRITSECT_RELEASE_ASSERT_RC_DEV(pDevIns, &pThis->CritSectIntr, rc);
    1395 
    13961393    RTGCPHYS GCPhysAddrMailboxIncoming = pThis->GCPhysAddrMailboxIncomingBase
    13971394                                       + (   pThis->uMailboxIncomingPositionCurrent
     
    14321429        blPhysWriteMeta(pDevIns, pThis, GCPhysAddrMailboxIncoming, &MbxIn, sizeof(Mailbox32));
    14331430    }
     1431
     1432    int rc = PDMDevHlpCritSectEnter(pDevIns, &pThis->CritSectIntr, VINF_SUCCESS);
     1433    PDM_CRITSECT_RELEASE_ASSERT_RC_DEV(pDevIns, &pThis->CritSectIntr, rc);
    14341434
    14351435    /* Advance to next mailbox position. */
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