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);