mirror of
https://git.openafs.org/openafs.git
synced 2025-01-21 00:10:15 +00:00
Windows: AFSInitializeProcessCB failure stack exhaustion
If AFSInitializeProcessCB() fails in AFSProcessCreate() it can lead to a recursive loop of AFSValidateProcessEntry() -> AFSProcessCreate() calls. Only call AFSValidateProcessEntry() if AFSInitializeProcessCB() succeeds. On failure, log an error to the trace log. Change-Id: I67a65bed9a3193a5ce44eb01d30aed15fe9e469d Reviewed-on: http://gerrit.openafs.org/7309 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil> Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com> Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
This commit is contained in:
parent
ad5916d19f
commit
2246e7887c
@ -126,13 +126,23 @@ AFSProcessCreate( IN HANDLE ParentId,
|
||||
pProcessCB->CreatingProcessId = (ULONGLONG)CreatingProcessId;
|
||||
|
||||
pProcessCB->CreatingThreadId = (ULONGLONG)CreatingThreadId;
|
||||
|
||||
//
|
||||
// Now assign the AuthGroup ACE
|
||||
//
|
||||
|
||||
AFSValidateProcessEntry( ProcessId);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
//
|
||||
// Now assign the AuthGroup ACE
|
||||
//
|
||||
|
||||
AFSValidateProcessEntry( ProcessId);
|
||||
AFSDbgLogMsg( AFS_SUBSYSTEM_PROCESS_PROCESSING,
|
||||
AFS_TRACE_LEVEL_ERROR,
|
||||
"AFSProcessCreate Initialization failure for Parent %08lX Process %08lX %08lX\n",
|
||||
ParentId,
|
||||
ProcessId,
|
||||
PsGetCurrentThread());
|
||||
}
|
||||
|
||||
AFSReleaseResource( pDeviceExt->Specific.Control.ProcessTree.TreeLock);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user