[NTOSKRNL]

Disable enqueuing processes into the SessionGlobal->ProcessList, since it's broken and causes non paged pool corruption. The reason is that sometimes the process is not removed, so a dead allocation stays in the list, causing havoc, when the next or previous process in that list is removed.

svn path=/trunk/; revision=58487
This commit is contained in:
Timo Kreuzer 2013-03-13 18:26:11 +00:00
parent edbd814452
commit 9156f1fe0f

View file

@ -1644,7 +1644,8 @@ MiSessionRemoveProcess(VOID)
ASSERT(MmIsAddressValid(MmSessionSpace) == TRUE);
/* Remove the process from the list ,and dereference the session */
RemoveEntryList(&CurrentProcess->SessionProcessLinks);
// DO NOT ENABLE THIS UNLESS YOU FIXED THE NP POOL CORRUPTION THAT IT CAUSES!!!
//RemoveEntryList(&CurrentProcess->SessionProcessLinks);
//MiDereferenceSession();
}
@ -1673,7 +1674,8 @@ MiSessionAddProcess(IN PEPROCESS NewProcess)
NewProcess->Session = SessionGlobal;
/* Insert it into the process list */
InsertTailList(&SessionGlobal->ProcessList, &NewProcess->SessionProcessLinks);
// DO NOT ENABLE THIS UNLESS YOU FIXED THE NP POOL CORRUPTION THAT IT CAUSES!!!
//InsertTailList(&SessionGlobal->ProcessList, &NewProcess->SessionProcessLinks);
/* Set the flag */
PspSetProcessFlag(NewProcess, PSF_PROCESS_IN_SESSION_BIT);