ViMmMapLockedPagesSanityChecks
VOID __stdcall ViMmMapLockedPagesSanityChecks(_MDL *MemoryDescriptorList, CHAR AccessMode){
unsigned __int8 CurrentIrql;
__int16 v5;
__int16 MdlFlags;
unsigned __int16 v7;
UINT64 v8;
if( (MmVerifierData & 1) == 0 )
return;
CurrentIrql = KeGetCurrentIrql();
if( AccessMode )
{
if( CurrentIrql > 1u )
VerifierBugCheckIfAppropriate(0xC4ui64, 0x75u, CurrentIrql, (ULONG_PTR)MemoryDescriptorList, AccessMode, v8);
if( AccessMode == 1 )
goto LABEL_12;
}
else if( CurrentIrql > 2u )
{
VerifierBugCheckIfAppropriate(0xC4ui64, 0x74u, CurrentIrql, (ULONG_PTR)MemoryDescriptorList, 0, v8);
}
v5 = 37;
if( (unsigned int)VfVerifyMode < 3 )
v5 = 33;
MdlFlags = MemoryDescriptorList->MdlFlags;
if( ((unsigned __int16)MdlFlags & (unsigned __int16)v5) != 0 )
VerifierBugCheckIfAppropriate(
0xC4ui64,
0xB2u,
(ULONG_PTR)MemoryDescriptorList,
MemoryDescriptorList->MdlFlags,
(unsigned __int16)MdlFlags & (unsigned __int16)v5,
v8);
LABEL_12:
v7 = 23;
if( AccessMode != 1 )
v7 = 18;
if( (v7 & MemoryDescriptorList->MdlFlags) == 0 )
VerifierBugCheckIfAppropriate(
0xC4ui64,
0xB3u,
(ULONG_PTR)MemoryDescriptorList,
MemoryDescriptorList->MdlFlags,
v7,
v8);
MmCheckMdlPages(MemoryDescriptorList);
}Referenced by:
VerifierMmMapLockedPages
VerifierMmMapLockedPagesSpecifyCache