VerifierMmBuildMdlForNonPagedPool
VOID __stdcall VerifierMmBuildMdlForNonPagedPool(_MDL *MemoryDescriptorList){
unsigned __int8 CurrentIrql;
ULONG_PTR Param4;
int v4;
UINT64 v5;
_XSTATE_FEATURE *retaddr;
CurrentIrql = KeGetCurrentIrql();
if( !CurrentIrql && MmDeterminePoolType(MemoryDescriptorList->StartVa) && (MmVerifierData & 0x800) != 0 )
VerifierBugCheckIfAppropriate(0xC4ui64, 0x7Fu, 0, (ULONG_PTR)MemoryDescriptorList, Param4, v5);
((void(__fastcall *)(_MDL *))pXdvMmBuildMdlForNonPagedPool)(MemoryDescriptorList);
if( CurrentIrql <= 2u
&& (MmVerifierData & 0x800) != 0
&& !VerifierNewRuleWorkaround
&& !MmAreMdlPagesLocked(MemoryDescriptorList) )
{
LOBYTE(v4) = VfUtilCheckRuleEnforcement(retaddr);
if( v4 == 1 )
VerifierBugCheckIfAppropriate(
0xC4ui64,
0x140u,
CurrentIrql,
(ULONG_PTR)MemoryDescriptorList,
(ULONG_PTR)MemoryDescriptorList->StartVa,
v5);
}
}Referenced by:
No references.