KiCheckForSListAddress

VOID __stdcall KiCheckForSListAddress(_KTRAP_FRAME *TrapFrame){
  unsigned __int16 SegCs; 
  unsigned __int64 Rip; 

  SegCs = TrapFrame->SegCs;
  Rip = TrapFrame->_Rip;
  if( SegCs == 51 )
  {
    if( Rip > KeUserPopEntrySListResume && Rip <= KeUserPopEntrySListEnd )
      TrapFrame->_Rip = KeUserPopEntrySListResume;
  }
  else if( SegCs == 16
         && Rip > (unsigned __int64)&ExpInterlockedPopEntrySListResume
         && Rip <= (unsigned __int64)&ExpInterlockedPopEntrySListEnd )
  {
    TrapFrame->_Rip = (unsigned __int64)&ExpInterlockedPopEntrySListResume;
  }
}

Referenced by:

KiDeliverApc
KiDispatchInterrupt
KiHvInterrupt
KiIpiInterrupt
KiMcheckAbort
KiNmiInterruptStart
KiPageFault
KiSwInterrupt
KiVmbusInterrupt0
KiVmbusInterrupt1
KiVmbusInterrupt2
KiVmbusInterrupt3
KxIsrLinkage