]> git.ipfire.org Git - thirdparty/open-vm-tools.git/commitdiff
lib/lock: continue putting code back
authorVMware, Inc <>
Mon, 21 Nov 2011 23:24:31 +0000 (15:24 -0800)
committerMarcelo Vanzin <mvanzin@vmware.com>
Mon, 21 Nov 2011 23:24:31 +0000 (15:24 -0800)
I'm working my way towards reintegrating the run-time
checking version which was code-read.

Signed-off-by: Marcelo Vanzin <mvanzin@vmware.com>
open-vm-tools/lib/lock/ul.c
open-vm-tools/lib/lock/ulBarrier.c
open-vm-tools/lib/lock/ulExcl.c
open-vm-tools/lib/lock/ulInt.h
open-vm-tools/lib/lock/ulRW.c
open-vm-tools/lib/lock/ulRec.c
open-vm-tools/lib/lock/ulSema.c

index bdbe824fdbebb3bfd141f41eac2688d3d5597aa3..cfe52464871d1df8c884ec369f87ffe362be5fce 100644 (file)
@@ -464,9 +464,9 @@ MXUser_TryAcquireFailureControl(Bool (*func)(const char *name))  // IN:
 /*
  *-----------------------------------------------------------------------------
  *
- * MXUserValidateSignature --
+ * MXUserValidateHeader --
  *
- *      Validate an MXUser object signature
+ *      Validate an MXUser object header
  *
  * Results:
  *      Return  All is well
@@ -479,12 +479,12 @@ MXUser_TryAcquireFailureControl(Bool (*func)(const char *name))  // IN:
  */
 
 void
-MXUserValidateSignature(MXUserHeader *header,  // IN:
-                        uint32 salt)           // IN:
+MXUserValidateHeader(MXUserHeader *header,  // IN:
+                     uint32 objectID)       // IN:
 {
-   if (header->signature != salt) {
+   if (header->signature != objectID) {
       MXUserDumpAndPanic(header, "%s: expected %X observed %X\n", __FUNCTION__,
-                         salt, header->signature);
+                         objectID, header->signature);
    }
 }
 #endif
@@ -521,14 +521,14 @@ MXUserValidateSignature(MXUserHeader *header,  // IN:
 
 void
 MXUserSetSignature(MXUserHeader *header,  // IN/OUT:
-                   uint32 salt)           // IN:
+                   uint32 objectID)       // IN:
 {
    ASSERT(header);
 
 #if defined(MXUSER_DEBUG)
-   header->signature = salt;  // TODO: use salt + time: make runtime unique
+   header->signature = objectID;  // TODO: use objectID + (unique) syndrome
 #else
-   header->signature = salt;
+   header->signature = objectID;
 #endif
 }
 
index 22d4cb2e45bd227cb56c2373885afb33621f4a75..861b8544bc8557f8e91a1dc4d0e380c91f3eb6b5 100644 (file)
@@ -189,7 +189,7 @@ void
 MXUser_DestroyBarrier(MXUserBarrier *barrier)  // IN:
 {
    if (LIKELY(barrier != NULL)) {
-      MXUserValidateSignature(&barrier->header, MXUSER_BARRIER_SIGNATURE);
+      MXUserValidateHeader(&barrier->header, MXUSER_BARRIER_SIGNATURE);
 
       if ((barrier->contexts[0].count != 0) ||
           (barrier->contexts[1].count != 0)) {
@@ -241,7 +241,7 @@ MXUser_EnterBarrier(MXUserBarrier *barrier)  // IN/OUT:
    uint32 context;
 
    ASSERT(barrier);
-   MXUserValidateSignature(&barrier->header, MXUSER_BARRIER_SIGNATURE);
+   MXUserValidateHeader(&barrier->header, MXUSER_BARRIER_SIGNATURE);
 
    MXUser_AcquireExclLock(barrier->lock);
 
index 41658c154d6e8f257dddcd5e8b2d30bd23c448db..47f1563d9edbf2ef47e7204dd22f752ba478f3e5 100644 (file)
@@ -179,7 +179,7 @@ MXUser_ControlExclLock(MXUserExclLock *lock,  // IN/OUT:
    Bool result;
 
    ASSERT(lock);
-   MXUserValidateSignature(&lock->header, MXUSER_EXCL_SIGNATURE);
+   MXUserValidateHeader(&lock->header, MXUSER_EXCL_SIGNATURE);
 
    switch (command) {
    case MXUSER_CONTROL_ACQUISITION_HISTO: {
@@ -344,7 +344,7 @@ MXUser_DestroyExclLock(MXUserExclLock *lock)  // IN:
    if (lock != NULL) {
       MXUserStats *stats;
 
-      MXUserValidateSignature(&lock->header, MXUSER_EXCL_SIGNATURE);
+      MXUserValidateHeader(&lock->header, MXUSER_EXCL_SIGNATURE);
 
       if (MXRecLockCount(&lock->recursiveLock) > 0) {
          MXUserDumpAndPanic(&lock->header,
@@ -398,7 +398,7 @@ MXUser_AcquireExclLock(MXUserExclLock *lock)  // IN/OUT:
    MXUserStats *stats;
 
    ASSERT(lock);
-   MXUserValidateSignature(&lock->header, MXUSER_EXCL_SIGNATURE);
+   MXUserValidateHeader(&lock->header, MXUSER_EXCL_SIGNATURE);
 
    stats = (MXUserStats *) Atomic_ReadPtr(&lock->statsMem);
 
@@ -462,7 +462,7 @@ MXUser_ReleaseExclLock(MXUserExclLock *lock)  // IN/OUT:
    MXUserStats *stats;
 
    ASSERT(lock);
-   MXUserValidateSignature(&lock->header, MXUSER_EXCL_SIGNATURE);
+   MXUserValidateHeader(&lock->header, MXUSER_EXCL_SIGNATURE);
 
    stats = (MXUserStats *) Atomic_ReadPtr(&lock->statsMem);
 
@@ -523,7 +523,7 @@ MXUser_TryAcquireExclLock(MXUserExclLock *lock)  // IN/OUT:
    MXUserStats *stats;
 
    ASSERT(lock);
-   MXUserValidateSignature(&lock->header, MXUSER_EXCL_SIGNATURE);
+   MXUserValidateHeader(&lock->header, MXUSER_EXCL_SIGNATURE);
 
    if (MXUserTryAcquireFail(lock->header.name)) {
       return FALSE;
@@ -573,7 +573,7 @@ Bool
 MXUser_IsCurThreadHoldingExclLock(MXUserExclLock *lock)  // IN:
 {
    ASSERT(lock);
-   MXUserValidateSignature(&lock->header, MXUSER_EXCL_SIGNATURE);
+   MXUserValidateHeader(&lock->header, MXUSER_EXCL_SIGNATURE);
 
    return MXRecLockIsOwner(&lock->recursiveLock);
 }
@@ -647,7 +647,7 @@ MXUserCondVar *
 MXUser_CreateCondVarExclLock(MXUserExclLock *lock)
 {
    ASSERT(lock);
-   MXUserValidateSignature(&lock->header, MXUSER_EXCL_SIGNATURE);
+   MXUserValidateHeader(&lock->header, MXUSER_EXCL_SIGNATURE);
 
    return MXUserCreateCondVar(&lock->header, &lock->recursiveLock);
 }
@@ -677,7 +677,7 @@ MXUser_WaitCondVarExclLock(MXUserExclLock *lock,    // IN:
                            MXUserCondVar *condVar)  // IN:
 {
    ASSERT(lock);
-   MXUserValidateSignature(&lock->header, MXUSER_EXCL_SIGNATURE);
+   MXUserValidateHeader(&lock->header, MXUSER_EXCL_SIGNATURE);
 
    MXUserWaitCondVar(&lock->header, &lock->recursiveLock, condVar,
                      MXUSER_WAIT_INFINITE);
@@ -709,7 +709,7 @@ MXUser_TimedWaitCondVarExclLock(MXUserExclLock *lock,    // IN:
                                 uint32 msecWait)         // IN:
 {
    ASSERT(lock);
-   MXUserValidateSignature(&lock->header, MXUSER_EXCL_SIGNATURE);
+   MXUserValidateHeader(&lock->header, MXUSER_EXCL_SIGNATURE);
 
    MXUserWaitCondVar(&lock->header, &lock->recursiveLock, condVar, msecWait);
 }
index 1294f790cd78ba1a88d39b0530fbf10f5261c847..124d67cc9f5281e6d9b4fe89ad82b054aca78bb9 100644 (file)
@@ -418,7 +418,7 @@ void MXUserDumpAndPanic(MXUserHeader *header,
 MXRecLock *MXUserInternalSingleton(Atomic_Ptr *storage);
 
 void MXUserSetSignature(MXUserHeader *header,
-                        uint32 salt);
+                        uint32 objectID);
 
 void MXUserClearSignature(MXUserHeader *header);
 
@@ -428,8 +428,8 @@ void MXUserAcquisitionTracking(MXUserHeader *header,
 
 void MXUserReleaseTracking(MXUserHeader *header);
 
-void MXUserValidateSignature(MXUserHeader *header,
-                             uint32 salt);
+void MXUserValidateHeader(MXUserHeader *header,
+                          uint32 objectID);
 #else
 static INLINE void
 MXUserAcquisitionTracking(MXUserHeader *header,  // IN:
@@ -446,7 +446,7 @@ MXUserReleaseTracking(MXUserHeader *header)  // IN:
 
 static INLINE void
 MXUserValidateSignature(MXUserHeader *header,  // IN:
-                        uint32 salt)           // IN:
+                        uint32 objectID)       // IN:
 {
    return;
 }
index 8f6bf3dcebbc96f5969c6c0a6708d5510463b444..eab17762f8a6328cd5e9f97c5fb560871d71293d 100644 (file)
@@ -404,7 +404,7 @@ MXUser_ControlRWLock(MXUserRWLock *lock,  // IN/OUT:
    Bool result;
 
    ASSERT(lock);
-   MXUserValidateSignature(&lock->header, MXUSER_RW_SIGNATURE);
+   MXUserValidateHeader(&lock->header, MXUSER_RW_SIGNATURE);
 
    switch (command) {
    case MXUSER_CONTROL_ACQUISITION_HISTO: {
@@ -596,7 +596,7 @@ MXUser_DestroyRWLock(MXUserRWLock *lock)  // IN:
    if (LIKELY(lock != NULL)) {
       MXUserStats *stats;
 
-      MXUserValidateSignature(&lock->header, MXUSER_RW_SIGNATURE);
+      MXUserValidateHeader(&lock->header, MXUSER_RW_SIGNATURE);
 
       if (Atomic_Read(&lock->holderCount) != 0) {
          MXUserDumpAndPanic(&lock->header,
@@ -708,7 +708,7 @@ MXUserAcquisition(MXUserRWLock *lock,  // IN/OUT:
    HolderContext *myContext;
 
    ASSERT(lock);
-   MXUserValidateSignature(&lock->header, MXUSER_RW_SIGNATURE);
+   MXUserValidateHeader(&lock->header, MXUSER_RW_SIGNATURE);
 
    MXUserAcquisitionTracking(&lock->header, TRUE);
 
@@ -857,7 +857,7 @@ MXUser_IsCurThreadHoldingRWLock(MXUserRWLock *lock,  // IN:
    HolderContext *myContext;
 
    ASSERT(lock);
-   MXUserValidateSignature(&lock->header, MXUSER_RW_SIGNATURE);
+   MXUserValidateHeader(&lock->header, MXUSER_RW_SIGNATURE);
 
    myContext = MXUserGetHolderContext(lock);
 
@@ -900,7 +900,7 @@ MXUser_ReleaseRWLock(MXUserRWLock *lock)  // IN/OUT:
    HolderContext *myContext;
 
    ASSERT(lock);
-   MXUserValidateSignature(&lock->header, MXUSER_RW_SIGNATURE);
+   MXUserValidateHeader(&lock->header, MXUSER_RW_SIGNATURE);
 
    myContext = MXUserGetHolderContext(lock);
 
index 4c0396927f781d1f6ec71a2ce2628ffdda212584..86b07cafb028f988b087beee9d7040df986747eb 100644 (file)
@@ -199,7 +199,7 @@ MXUser_ControlRecLock(MXUserRecLock *lock,  // IN/OUT:
    Bool result;
 
    ASSERT(lock);
-   MXUserValidateSignature(&lock->header, MXUSER_REC_SIGNATURE);
+   MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE);
 
    Atomic_Inc(&lock->refCount);
 
@@ -434,7 +434,7 @@ static void
 MXUserCondDestroyRecLock(MXUserRecLock *lock)  // IN:
 {
    ASSERT(lock);
-   MXUserValidateSignature(&lock->header, MXUSER_REC_SIGNATURE);
+   MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE);
 
    if (Atomic_FetchAndDec(&lock->refCount) == 1) {
       if (lock->vmmLock == NULL) {
@@ -500,7 +500,7 @@ void
 MXUser_AcquireRecLock(MXUserRecLock *lock)  // IN/OUT:
 {
    ASSERT(lock);
-   MXUserValidateSignature(&lock->header, MXUSER_REC_SIGNATURE);
+   MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE);
 
    Atomic_Inc(&lock->refCount);
 
@@ -567,7 +567,7 @@ void
 MXUser_ReleaseRecLock(MXUserRecLock *lock)  // IN/OUT:
 {
    ASSERT(lock);
-   MXUserValidateSignature(&lock->header, MXUSER_REC_SIGNATURE);
+   MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE);
 
    Atomic_Inc(&lock->refCount);
 
@@ -644,7 +644,7 @@ MXUser_TryAcquireRecLock(MXUserRecLock *lock)  // IN/OUT:
    Bool success;
 
    ASSERT(lock);
-   MXUserValidateSignature(&lock->header, MXUSER_REC_SIGNATURE);
+   MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE);
 
    Atomic_Inc(&lock->refCount);
 
@@ -706,7 +706,7 @@ MXUser_IsCurThreadHoldingRecLock(MXUserRecLock *lock)  // IN:
    Bool result;
 
    ASSERT(lock);
-   MXUserValidateSignature(&lock->header, MXUSER_REC_SIGNATURE);
+   MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE);
 
    Atomic_Inc(&lock->refCount);
 
@@ -795,7 +795,7 @@ MXUser_CreateCondVarRecLock(MXUserRecLock *lock)
    MXUserCondVar *condVar;
 
    ASSERT(lock);
-   MXUserValidateSignature(&lock->header, MXUSER_REC_SIGNATURE);
+   MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE);
    ASSERT(lock->vmmLock == NULL);  // only unbound locks
 
    Atomic_Inc(&lock->refCount);
@@ -834,7 +834,7 @@ MXUser_WaitCondVarRecLock(MXUserRecLock *lock,     // IN:
                           MXUserCondVar *condVar)  // IN:
 {
    ASSERT(lock);
-   MXUserValidateSignature(&lock->header, MXUSER_REC_SIGNATURE);
+   MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE);
    ASSERT(lock->vmmLock == NULL);  // only unbound locks
 
    Atomic_Inc(&lock->refCount);
@@ -873,7 +873,7 @@ MXUser_TimedWaitCondVarRecLock(MXUserRecLock *lock,     // IN:
                                uint32 msecWait)         // IN:
 {
    ASSERT(lock);
-   MXUserValidateSignature(&lock->header, MXUSER_REC_SIGNATURE);
+   MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE);
    ASSERT(lock->vmmLock == NULL);  // only unbound locks
 
    Atomic_Inc(&lock->refCount);
@@ -906,7 +906,7 @@ void
 MXUser_DumpRecLock(MXUserRecLock *lock)  // IN:
 {
    ASSERT(lock);
-   MXUserValidateSignature(&lock->header, MXUSER_REC_SIGNATURE);
+   MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE);
 
    Atomic_Inc(&lock->refCount);
 
@@ -938,7 +938,7 @@ struct MX_MutexRec *
 MXUser_GetRecLockVmm(MXUserRecLock *lock)  // IN:
 {
    ASSERT(lock);
-   MXUserValidateSignature(&lock->header, MXUSER_REC_SIGNATURE);
+   MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE);
 
    return lock->vmmLock;
 }
@@ -964,7 +964,7 @@ MX_Rank
 MXUser_GetRecLockRank(MXUserRecLock *lock)  // IN:
 {
    ASSERT(lock);
-   MXUserValidateSignature(&lock->header, MXUSER_REC_SIGNATURE);
+   MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE);
 
    return lock->header.rank;
 }
@@ -1053,7 +1053,7 @@ void
 MXUser_IncRefRecLock(MXUserRecLock *lock)  // IN:
 {
    ASSERT(lock);
-   MXUserValidateSignature(&lock->header, MXUSER_REC_SIGNATURE);
+   MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE);
 
    Atomic_Inc(&lock->refCount);
 }
@@ -1080,7 +1080,7 @@ void
 MXUser_DecRefRecLock(MXUserRecLock *lock)  // IN:
 {
    ASSERT(lock);
-   MXUserValidateSignature(&lock->header, MXUSER_REC_SIGNATURE);
+   MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE);
 
    MXUserCondDestroyRecLock(lock);
 }
index 8376272cb33e05a69adcfa82913f39720965ee4c..7d22d539ab0b6def8e0eb03e63005ae46b150a9a 100644 (file)
@@ -568,7 +568,7 @@ MXUser_DestroySemaphore(MXUserSemaphore *sema)  // IN:
       int err;
       MXUserStats *stats;
 
-      MXUserValidateSignature(&sema->header, MXUSER_SEMA_SIGNATURE);
+      MXUserValidateHeader(&sema->header, MXUSER_SEMA_SIGNATURE);
 
       if (Atomic_Read(&sema->activeUserCount) != 0) {
          MXUserDumpAndPanic(&sema->header,
@@ -628,7 +628,7 @@ MXUser_DownSemaphore(MXUserSemaphore *sema)  // IN/OUT:
    MXUserStats *stats;
 
    ASSERT(sema);
-   MXUserValidateSignature(&sema->header, MXUSER_SEMA_SIGNATURE);
+   MXUserValidateHeader(&sema->header, MXUSER_SEMA_SIGNATURE);
 
    Atomic_Inc(&sema->activeUserCount);
 
@@ -704,7 +704,7 @@ MXUser_TimedDownSemaphore(MXUserSemaphore *sema,  // IN/OUT:
    Bool downOccurred = FALSE;
 
    ASSERT(sema);
-   MXUserValidateSignature(&sema->header, MXUSER_SEMA_SIGNATURE);
+   MXUserValidateHeader(&sema->header, MXUSER_SEMA_SIGNATURE);
 
    Atomic_Inc(&sema->activeUserCount);
 
@@ -788,7 +788,7 @@ MXUser_TryDownSemaphore(MXUserSemaphore *sema)  // IN/OUT:
    Bool downOccurred = FALSE;
 
    ASSERT(sema);
-   MXUserValidateSignature(&sema->header, MXUSER_SEMA_SIGNATURE);
+   MXUserValidateHeader(&sema->header, MXUSER_SEMA_SIGNATURE);
 
    Atomic_Inc(&sema->activeUserCount);
 
@@ -835,7 +835,7 @@ MXUser_UpSemaphore(MXUserSemaphore *sema)  // IN/OUT:
    int err;
 
    ASSERT(sema);
-   MXUserValidateSignature(&sema->header, MXUSER_SEMA_SIGNATURE);
+   MXUserValidateHeader(&sema->header, MXUSER_SEMA_SIGNATURE);
 
    Atomic_Inc(&sema->activeUserCount);