VfFreePoolNotification

VOID __stdcall VfFreePoolNotification(PVOID Address, UINT64 a2){
  if( a2 )
  {
    if( (VfRuleClasses & 8) != 0 && VfPoolTraces )
      ViPoolLogStackTrace(Address, a2);
    if( (unsigned int)VfIsVerifierEnabled()
      && ((VfRuleClasses & 0xFFAFFFFF) != 0
       || (VfRuleClasses & 0x200000000i64) != 0
       || (VfRuleClasses & 0x400000000i64) != 0) )
    {
      VfDeadlockDeleteMemoryRange(Address, a2);
      VfRemLockDeleteMemoryRange(Address, a2);
    }
  }
  else if( (VfRuleClasses & 8) != 0 && ((MmVerifierData & 0x400000) == 0 || (*(_BYTE *)VfFlightOptions & 9) != 0) )
  {
    if( VfPoolTraces )
      ViPoolLogStackTrace(Address, 0x10ui64);
  }
}

Referenced by:

ExFreeHeapPool
ExpFreePoolChecks
VerifierExFreePool
VerifierExFreePoolWithTag