Author: tkreuzer
Date: Wed Mar 13 18:26:11 2013
New Revision: 58487
URL: http://svn.reactos.org/svn/reactos?rev=58487&view=rev
Log:
[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.
Modified:
trunk/reactos/ntoskrnl/mm/ARM3/procsup.c
Modified: trunk/reactos/ntoskrnl/mm/ARM3/procsup.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/ARM3/procsup.c…
==============================================================================
--- trunk/reactos/ntoskrnl/mm/ARM3/procsup.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/mm/ARM3/procsup.c [iso-8859-1] Wed Mar 13 18:26:11 2013
@@ -1644,7 +1644,8 @@
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 @@
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);