mirror of
https://github.com/reactos/reactos.git
synced 2024-10-08 02:13:56 +00:00
[NTOS]
- Only update the System Page Directory when expanding the paged pool. Fixes the PointerPde asserts. On paged pool expansion, the system page directory and the process page directory of the calling process were updated. When updating the process page directory, an assert made sure the PDE that got written was invalid. In case of the System process, both page directories are located on the same physical page. So when this process expanded the paged pool, the system page directory update automagically updated the process page directory too. The assert therefore triggered. Not explicitly updating the process page directory will result in a page fault later on, which is handled by copying the required PDE from the system page directory to the process page directory. Rumour has it this fix is incorrect because "something's wrong with the System PDE stuff". The lack of any further info however leads to this change and explanation. svn path=/trunk/; revision=50475
This commit is contained in:
parent
ce2570f468
commit
6c6117766d
|
@ -497,7 +497,7 @@ MiAllocatePoolPages(IN POOL_TYPE PoolType,
|
|||
MmSystemPageDirectory[(PointerPde - MiAddressToPde(NULL)) / PDE_COUNT]);
|
||||
|
||||
/* Write the actual PDE now */
|
||||
MI_WRITE_VALID_PDE(PointerPde, TempPde);
|
||||
// MI_WRITE_VALID_PDE(PointerPde, TempPde);
|
||||
#endif
|
||||
//
|
||||
// Move on to the next expansion address
|
||||
|
|
Loading…
Reference in a new issue