Коммит 9156f1fe создал по автору Timo Kreuzer's avatar Timo Kreuzer
Просмотр файлов

[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
владелец edbd8144
......@@ -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);
......
Поддерживает Markdown
0% или .
You are about to add 0 people to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Пожалуйста, зарегистрируйтесь или чтобы прокомментировать