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.