ExAcquireSpinLockExclusive
NTSTATUS __fastcall ExAcquireSpinLockExclusive(INT64 *SpinLock){
UINT8 CurrentIrql;
int v3;
signed __int32 v4;
signed __int32 v6;
CurrentIrql = KeGetCurrentIrql();
__writecr8(2ui64);
v3 = 0;
if( _interlockedbittestandset((volatile signed __int32 *)SpinLock, 0x1Fu) )
v3 = ExpWaitForSpinLockExclusiveAndAcquire(SpinLock, CurrentIrql);
v4 = *(_DWORD *)SpinLock;
while( (v4 & 0xBFFFFFFF) != 0x80000000 )
{
if( (v4 & 0x40000000) == 0 )
{
v6 = v4;
v4 = _InterlockedCompareExchange((volatile signed __int32 *)SpinLock, v4 | 0x40000000, v4);
if( v6 != v4 )
continue;
}
++v3;
_mm_pause();
v4 = *(_DWORD *)SpinLock;
}
return CurrentIrql;
}Referenced by:
EtwpRegisterPartitionPages
EtwpUnregisterPartitionPages
ExCompareExchangeCallBack
ExDeleteFastResource
ExGetBigPoolInfo
FlushLookUpTableBucket
HalpNumaAddRangeProximity
HalpUpdateCoolingPacket
IoSetDiskIoAttributionOnProcess
IoStartDiskIoAttributionForContext
IoStopDiskIoAttributionForContext
MiAddPrivateFixupEntryForSystemImage
MiAddViewsForSection
MiAdjustModifiedPageLoad
MiAppendSubsectionChain
MiApplyCommitDelay
MiAttemptPageFileReduction
MiAttemptPageFileReductionApc
MiBeginHoldingDirtyFaults
MiBeginProcessClean
MiBuildForkPte
MiCanFileBeTruncatedInternal
MiChangingSubsectionProtos
MiCheckAndUpdateIoAttribution
MiCheckAndUpdatePagingFileMinimum
MiCheckControlArea
MiCheckHoldFaultForHotPatch
MiCheckPageFileMapping
MiCheckPurgeAndUpMapCount
MiCleanSection
MiCleanWorkingSet
MiClearCommitReleaseState
MiClearPartitionPageBitMap
MiCloneCaptureVadCommit
MiCloneVads
MiCombiningInProgress
MiCommitExistingVad
MiComparePageHash
MiContractPagingFiles
MiCopyHeaderIfResident
MiCountSystemImageCommitment
MiCreateCloneChain
MiCreateForkWsles
MiCreateInitialSystemWsles
MiCreateKernelStackNode
MiCreatePrototypePtes
MiDecrementLargeSubsections
MiDecrementModifiedWriteCount
MiDecrementSubsection
MiDeleteBootRange
MiDeleteCachedSegment
MiDeleteCachedSubsection
MiDeleteCloneZombies
MiDeleteControlArea
MiDeleteControlAreaList
MiDeleteEmptySubsections
MiDeleteKernelStackNode
MiDeletePagablePteRange
MiDeletePartialVad
MiDeletePartitionResources
MiDeleteRotateAndStopFaults
MiDeleteSegmentPages
MiDeleteSessionAddressSpace
MiDeleteStaleCacheMaps
MiDeleteSubsectionPages
MiDeleteVad
MiDerefPageFileSpaceBitmaps
MiDereferenceControlArea
MiDereferenceControlAreaBySection
MiDereferenceControlAreaPfnList
MiDereferencePageRunsEx
MiDoneWithThisPageGetAnother
MiDrainControlAreaWrites
MiDrainCrossPartitionUsage
MiDuplicateCloneLeaf
MiExtendPagingFileMaximum
MiFindFreePageFileSpace
MiFinishHoldingDirtyFaults
MiFinishPageFileExtension
MiFlowThroughInsertNode
MiFlushAcquire
MiFlushControlArea
MiFlushRelease
MiFlushSectionInternal
MiForceSectionClosed
MiFreeCombineBlock
MiFreePhysicalView
MiFreePrivateFixupEntryForSystemImage
MiFreeSlabEntries
MiFreeUnusedPfnPagesDpc
MiGatherMappedPages
MiGatherPagefilePages
MiGetCrossPartitionCharges
MiHandleForkTransitionPte
MiImageCantMove
MiImageUnused
MiIncrementLargeSubsections
MiInitializeDynamicPfns
MiInitializeWorkingSetManagerParameters
MiInsertInSystemSpace
MiInsertMappingNode
MiInsertPartitionPages
MiInsertSlabEntry
MiInsertSubsectionNode
MiInsertVadEvent
MiIssuePageExtendRequest
MiLocateOldestSecure
MiLockControlAreaSectionExtend
MiLockDownWorkingSet
MiLockSectionControlArea
MiLockWorkingSetExclusive
MiLockWorkingSetForLargeMapping
MiMakeIoRangePermanent
MiMakeSecureExclusive
MiMakeSystemAddressValid
MiMakeUnusedSegmentDeleteOnClose
MiMapMdlCommon
MiMapPageFileHash
MiMapWithLargePages
MiModifiedPageWriter
MiOutSwapWorkingSet
MiOutlawInswaps
MiPageFileNoFreeSpace
MiPerformMemoryChange
MiPrepareSegmentForDeletion
MiProcessDeleteOnClose
MiProcessDereferenceList
MiProcessingPageExtendComplete
MiPurgeBadFileOnlyPages
MiPurgeSubsection
MiQueueControlAreaDelete
MiQueuePageFileExtension
MiReAcquireOutSwappedProcessCommit
MiRefPageFileSpaceBitmaps
MiReferenceActiveSubsection
MiReferenceControlArea
MiReferenceControlAreaPfn
MiRefillPurgedExtents
MiReleaseCommitForResetPages
MiReleaseControlAreaCharges
MiReleaseFaultCharges
MiReleaseImageSection
MiReleaseOutSwappedProcessCommit
MiReleasePageFileInfo
MiRelockFaultState
MiRemoveFromSystemSpace
MiRemoveMappedPtes
MiRemoveMappingNode
MiRemovePlaceholderVad
MiRemoveSecureEntry
MiRemoveSystemCacheReferences
MiRemoveVadEvent
MiRemoveViewsFromSectionWithPfn
MiReplaceSystemProtoPtesNode
MiRetainSubsection
MiReturnCrossPartitionCharges
MiReturnCrossPartitionControlAreaCharges
MiReturnPartitionPagesToParent
MiRotateComplete
MiSectionCreated
MiSessionInsertImage
MiSessionRemoveImage
MiSetControlAreaSystemVa
MiSetDeleteOnClose
MiSetSubsectionBase
MiSetTrimWhileAgingState
MiSharePages
MiStoreEvictThread
MiStoreSetPageFileRunEvicted
MiStoreWriteModifiedPages
MiStrongCodeImage
MiSubsectionNeedsExtents
MiSubsectionProtosCreated
MiSynchronizeSystemVa
MiTransferPartitionPageRun
MiTrimSection
MiUnlinkSubsectionWaitBlock
MiUnlockControlAreaSectionExtend
MiUnmapMdlCommon
MiUpControlAreaRefs
MiUpdateActiveSubsection
MiUpdateControlAreaCommitCount
MiUpdateLastSubsectionSize
MiUpdatePageFileList
MiUpdatePagingFileMinimum
MiUpdatePartitionMemory
MiUpdatePerSessionProto
MiUpdateSystemProtoPtesTree
MiWaitForInPageComplete
MiWaitForRotateToComplete
MiWalkPageTablesRecursively
MiWriteComplete
MiWritePageFileHash
MiZeroLargePageThread
MiZeroPageFile
MiZeroSectionObjectPointer
MmAdjustWorkingSetSizeEx
MmChangeSectionBackingFile
MmEnableProcessSvm
MmEnforceWorkingSetLimit
MmFlushImageSection
MmInSwapWorkingSet
MmManageFaultRange
MmOutSwapWorkingSet
MmPurgeSection
MmQueryProcessWorkingSetSwapPages
MmReleaseCommitForMemResetPages
MmSetCommitReleaseEligibility
MmStealTopLevelPage
MmStoreFlushOutstandingEvictions
MmUpdateSlabRangeProtection
PfSnGetFileInformation
PfSnNameQueryWorker
PfSnNameRemove
PoFxIdleDevice
PoFxRegisterDripsWatchdogCallback
PoFxReportDevicePoweredOn
PoFxStartDevicePowerManagement
PopFxActivateDevice
PopFxAllocatePowerIrp
PopFxArmResidentTimer
PopFxAssignDeviceToDevNode
PopFxIncrementDeviceSleepCount
PopFxIsDevicePotentialDripsConstraint
PopFxReleasePowerIrp
PopPepArmIdleTimer
PopPepDeviceStarted
PopPepIdleTimeoutRoutine
PopPepInitializeVetoMasks
PopPepLockActivityLink
PopPepSurprisePowerOn
PopPepTryPowerDownDevice
PopPepUpdateConstraints
PopPepUpdateDripsDeviceVetoMask
PopPepWaitForDeviceRelease
PopSystemIrpCompletion
PsIoRateControlOverQuotaNotify
PspIumFreePartitionPages
PspJobIoRateQueryHistory
PspJobIoRateVolumeEntryInsert
PspJobIoRateVolumeEntryRemove
PspJobIoRateVolumeEntryRemoveAll
PspRemovePartitionFromGlobalList
RtlpCSparseBitmapLock
RtlpHpAcquireLockExclusive
RtlpHpAcquireReleaseLockExclusive
RtlpHpVaMgrCtxAllocatorDereference
RtlpHpVaMgrCtxAllocatorReference
SMKM_STORE_MGR::SmCompressContextQueueEntry
SMKM_STORE_MGR::SmCompressContextUpdateMemoryCondition
SMKM_STORE_MGR::SmCompressCtxBalancerThread
SMKM_STORE_MGR::SmCompressCtxCleanup
SMKM_STORE_MGR::SmCompressCtxProcessEntry
SMKM_STORE_MGR::SmCompressCtxProcessReadyQueue
SMKM_STORE_MGR::SmCompressCtxWorkerThread
SepCleanupMarkedForDeletionEntries
SepExpandSingletonArrays
SepInitSingletonEntry
SepSetSingletonEntry
SmFpPreAllocate
SmpFpAllocateResource
SmpFpReleaseResource
ViIrpDatabaseAcquireLockExclusive