From: VMware, Inc <> Date: Mon, 21 Nov 2011 23:24:31 +0000 (-0800) Subject: lib/lock: continue putting code back X-Git-Tag: 2011.11.20-535097~37 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4dfa067b5280dffb6180b0f78d68e69ce1e3d362;p=thirdparty%2Fopen-vm-tools.git lib/lock: continue putting code back I'm working my way towards reintegrating the run-time checking version which was code-read. Signed-off-by: Marcelo Vanzin --- diff --git a/open-vm-tools/lib/lock/ul.c b/open-vm-tools/lib/lock/ul.c index bdbe824fd..cfe524648 100644 --- a/open-vm-tools/lib/lock/ul.c +++ b/open-vm-tools/lib/lock/ul.c @@ -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 } diff --git a/open-vm-tools/lib/lock/ulBarrier.c b/open-vm-tools/lib/lock/ulBarrier.c index 22d4cb2e4..861b8544b 100644 --- a/open-vm-tools/lib/lock/ulBarrier.c +++ b/open-vm-tools/lib/lock/ulBarrier.c @@ -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); diff --git a/open-vm-tools/lib/lock/ulExcl.c b/open-vm-tools/lib/lock/ulExcl.c index 41658c154..47f1563d9 100644 --- a/open-vm-tools/lib/lock/ulExcl.c +++ b/open-vm-tools/lib/lock/ulExcl.c @@ -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); } diff --git a/open-vm-tools/lib/lock/ulInt.h b/open-vm-tools/lib/lock/ulInt.h index 1294f790c..124d67cc9 100644 --- a/open-vm-tools/lib/lock/ulInt.h +++ b/open-vm-tools/lib/lock/ulInt.h @@ -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; } diff --git a/open-vm-tools/lib/lock/ulRW.c b/open-vm-tools/lib/lock/ulRW.c index 8f6bf3dce..eab17762f 100644 --- a/open-vm-tools/lib/lock/ulRW.c +++ b/open-vm-tools/lib/lock/ulRW.c @@ -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); diff --git a/open-vm-tools/lib/lock/ulRec.c b/open-vm-tools/lib/lock/ulRec.c index 4c0396927..86b07cafb 100644 --- a/open-vm-tools/lib/lock/ulRec.c +++ b/open-vm-tools/lib/lock/ulRec.c @@ -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); } diff --git a/open-vm-tools/lib/lock/ulSema.c b/open-vm-tools/lib/lock/ulSema.c index 8376272cb..7d22d539a 100644 --- a/open-vm-tools/lib/lock/ulSema.c +++ b/open-vm-tools/lib/lock/ulSema.c @@ -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);