/*
*-----------------------------------------------------------------------------
*
- * MXUserValidateSignature --
+ * MXUserValidateHeader --
*
- * Validate an MXUser object signature
+ * Validate an MXUser object header
*
* Results:
* Return All is well
*/
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
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
}
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)) {
uint32 context;
ASSERT(barrier);
- MXUserValidateSignature(&barrier->header, MXUSER_BARRIER_SIGNATURE);
+ MXUserValidateHeader(&barrier->header, MXUSER_BARRIER_SIGNATURE);
MXUser_AcquireExclLock(barrier->lock);
Bool result;
ASSERT(lock);
- MXUserValidateSignature(&lock->header, MXUSER_EXCL_SIGNATURE);
+ MXUserValidateHeader(&lock->header, MXUSER_EXCL_SIGNATURE);
switch (command) {
case MXUSER_CONTROL_ACQUISITION_HISTO: {
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,
MXUserStats *stats;
ASSERT(lock);
- MXUserValidateSignature(&lock->header, MXUSER_EXCL_SIGNATURE);
+ MXUserValidateHeader(&lock->header, MXUSER_EXCL_SIGNATURE);
stats = (MXUserStats *) Atomic_ReadPtr(&lock->statsMem);
MXUserStats *stats;
ASSERT(lock);
- MXUserValidateSignature(&lock->header, MXUSER_EXCL_SIGNATURE);
+ MXUserValidateHeader(&lock->header, MXUSER_EXCL_SIGNATURE);
stats = (MXUserStats *) Atomic_ReadPtr(&lock->statsMem);
MXUserStats *stats;
ASSERT(lock);
- MXUserValidateSignature(&lock->header, MXUSER_EXCL_SIGNATURE);
+ MXUserValidateHeader(&lock->header, MXUSER_EXCL_SIGNATURE);
if (MXUserTryAcquireFail(lock->header.name)) {
return FALSE;
MXUser_IsCurThreadHoldingExclLock(MXUserExclLock *lock) // IN:
{
ASSERT(lock);
- MXUserValidateSignature(&lock->header, MXUSER_EXCL_SIGNATURE);
+ MXUserValidateHeader(&lock->header, MXUSER_EXCL_SIGNATURE);
return MXRecLockIsOwner(&lock->recursiveLock);
}
MXUser_CreateCondVarExclLock(MXUserExclLock *lock)
{
ASSERT(lock);
- MXUserValidateSignature(&lock->header, MXUSER_EXCL_SIGNATURE);
+ MXUserValidateHeader(&lock->header, MXUSER_EXCL_SIGNATURE);
return MXUserCreateCondVar(&lock->header, &lock->recursiveLock);
}
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);
uint32 msecWait) // IN:
{
ASSERT(lock);
- MXUserValidateSignature(&lock->header, MXUSER_EXCL_SIGNATURE);
+ MXUserValidateHeader(&lock->header, MXUSER_EXCL_SIGNATURE);
MXUserWaitCondVar(&lock->header, &lock->recursiveLock, condVar, msecWait);
}
MXRecLock *MXUserInternalSingleton(Atomic_Ptr *storage);
void MXUserSetSignature(MXUserHeader *header,
- uint32 salt);
+ uint32 objectID);
void MXUserClearSignature(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:
static INLINE void
MXUserValidateSignature(MXUserHeader *header, // IN:
- uint32 salt) // IN:
+ uint32 objectID) // IN:
{
return;
}
Bool result;
ASSERT(lock);
- MXUserValidateSignature(&lock->header, MXUSER_RW_SIGNATURE);
+ MXUserValidateHeader(&lock->header, MXUSER_RW_SIGNATURE);
switch (command) {
case MXUSER_CONTROL_ACQUISITION_HISTO: {
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,
HolderContext *myContext;
ASSERT(lock);
- MXUserValidateSignature(&lock->header, MXUSER_RW_SIGNATURE);
+ MXUserValidateHeader(&lock->header, MXUSER_RW_SIGNATURE);
MXUserAcquisitionTracking(&lock->header, TRUE);
HolderContext *myContext;
ASSERT(lock);
- MXUserValidateSignature(&lock->header, MXUSER_RW_SIGNATURE);
+ MXUserValidateHeader(&lock->header, MXUSER_RW_SIGNATURE);
myContext = MXUserGetHolderContext(lock);
HolderContext *myContext;
ASSERT(lock);
- MXUserValidateSignature(&lock->header, MXUSER_RW_SIGNATURE);
+ MXUserValidateHeader(&lock->header, MXUSER_RW_SIGNATURE);
myContext = MXUserGetHolderContext(lock);
Bool result;
ASSERT(lock);
- MXUserValidateSignature(&lock->header, MXUSER_REC_SIGNATURE);
+ MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE);
Atomic_Inc(&lock->refCount);
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) {
MXUser_AcquireRecLock(MXUserRecLock *lock) // IN/OUT:
{
ASSERT(lock);
- MXUserValidateSignature(&lock->header, MXUSER_REC_SIGNATURE);
+ MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE);
Atomic_Inc(&lock->refCount);
MXUser_ReleaseRecLock(MXUserRecLock *lock) // IN/OUT:
{
ASSERT(lock);
- MXUserValidateSignature(&lock->header, MXUSER_REC_SIGNATURE);
+ MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE);
Atomic_Inc(&lock->refCount);
Bool success;
ASSERT(lock);
- MXUserValidateSignature(&lock->header, MXUSER_REC_SIGNATURE);
+ MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE);
Atomic_Inc(&lock->refCount);
Bool result;
ASSERT(lock);
- MXUserValidateSignature(&lock->header, MXUSER_REC_SIGNATURE);
+ MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE);
Atomic_Inc(&lock->refCount);
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);
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);
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);
MXUser_DumpRecLock(MXUserRecLock *lock) // IN:
{
ASSERT(lock);
- MXUserValidateSignature(&lock->header, MXUSER_REC_SIGNATURE);
+ MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE);
Atomic_Inc(&lock->refCount);
MXUser_GetRecLockVmm(MXUserRecLock *lock) // IN:
{
ASSERT(lock);
- MXUserValidateSignature(&lock->header, MXUSER_REC_SIGNATURE);
+ MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE);
return lock->vmmLock;
}
MXUser_GetRecLockRank(MXUserRecLock *lock) // IN:
{
ASSERT(lock);
- MXUserValidateSignature(&lock->header, MXUSER_REC_SIGNATURE);
+ MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE);
return lock->header.rank;
}
MXUser_IncRefRecLock(MXUserRecLock *lock) // IN:
{
ASSERT(lock);
- MXUserValidateSignature(&lock->header, MXUSER_REC_SIGNATURE);
+ MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE);
Atomic_Inc(&lock->refCount);
}
MXUser_DecRefRecLock(MXUserRecLock *lock) // IN:
{
ASSERT(lock);
- MXUserValidateSignature(&lock->header, MXUSER_REC_SIGNATURE);
+ MXUserValidateHeader(&lock->header, MXUSER_REC_SIGNATURE);
MXUserCondDestroyRecLock(lock);
}
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,
MXUserStats *stats;
ASSERT(sema);
- MXUserValidateSignature(&sema->header, MXUSER_SEMA_SIGNATURE);
+ MXUserValidateHeader(&sema->header, MXUSER_SEMA_SIGNATURE);
Atomic_Inc(&sema->activeUserCount);
Bool downOccurred = FALSE;
ASSERT(sema);
- MXUserValidateSignature(&sema->header, MXUSER_SEMA_SIGNATURE);
+ MXUserValidateHeader(&sema->header, MXUSER_SEMA_SIGNATURE);
Atomic_Inc(&sema->activeUserCount);
Bool downOccurred = FALSE;
ASSERT(sema);
- MXUserValidateSignature(&sema->header, MXUSER_SEMA_SIGNATURE);
+ MXUserValidateHeader(&sema->header, MXUSER_SEMA_SIGNATURE);
Atomic_Inc(&sema->activeUserCount);
int err;
ASSERT(sema);
- MXUserValidateSignature(&sema->header, MXUSER_SEMA_SIGNATURE);
+ MXUserValidateHeader(&sema->header, MXUSER_SEMA_SIGNATURE);
Atomic_Inc(&sema->activeUserCount);