KiLogControlProtectionUserModeReturnMismatch
void __fastcall KiLogControlProtectionUserModeReturnMismatch(int a1, __int64 a2, void *a3, void *a4){
_EPROCESS *Process;
signed __int32 MitigationFlags2;
signed __int32 v6;
INT64 v7;
Process = KeGetCurrentThread()->Process;
_m_prefetchw(&Process->2516);
MitigationFlags2 = Process->MitigationFlags2;
do
{
v6 = MitigationFlags2;
MitigationFlags2 = _InterlockedCompareExchange(
(volatile signed __int32 *)&Process->2516,
MitigationFlags2 | 0x10000,
MitigationFlags2);
}
while( v6 != MitigationFlags2 );
if( (MitigationFlags2 & 0x10000) == 0 )
{
if( a1 == 1 || a1 == 2 )
EtwTimLogControlProtectionUserModeReturnMismatch(a1, Process, a3, a4, (Process->MitigationFlags2 & 0x100000) != 0);
LODWORD(v7) = 0;
wil_details_FeatureReporting_ReportUsageToService(
(wil_details_FeatureReportingCache *)&WheapErrorSourceTable + 115,
0x178806Fui64,
0i64,
0i64,
(FEATURE_LOGGED_TRAITS *)&Feature_PdttSupport_logged_traits,
v7);
}
}Referenced by:
No references.