mirror of
https://github.com/reactos/reactos.git
synced 2024-08-11 13:48:01 +00:00
Fix bug in memory mapping which caused large applications to BSOD the system. Abiword setup now works and other large apps should be fixed as well
svn path=/trunk/; revision=15380
This commit is contained in:
parent
7e68975e35
commit
1612126bbb
|
@ -142,7 +142,7 @@ MmWritePagePhysicalAddress(PFN_TYPE Page)
|
||||||
Status = MmWritePageSectionView(AddressSpace, MemoryArea,
|
Status = MmWritePageSectionView(AddressSpace, MemoryArea,
|
||||||
Address, PageOp);
|
Address, PageOp);
|
||||||
}
|
}
|
||||||
else if (Type == MEMORY_AREA_VIRTUAL_MEMORY)
|
else if ((Type == MEMORY_AREA_VIRTUAL_MEMORY) || (Type == MEMORY_AREA_PEB_OR_TEB))
|
||||||
{
|
{
|
||||||
PageOp = MmGetPageOp(MemoryArea, Address < (PVOID)KERNEL_BASE ? Process->UniqueProcessId : NULL,
|
PageOp = MmGetPageOp(MemoryArea, Address < (PVOID)KERNEL_BASE ? Process->UniqueProcessId : NULL,
|
||||||
Address, NULL, 0, MM_PAGEOP_PAGEOUT, TRUE);
|
Address, NULL, 0, MM_PAGEOP_PAGEOUT, TRUE);
|
||||||
|
@ -265,7 +265,7 @@ MmPageOutPhysicalAddress(PFN_TYPE Page)
|
||||||
Status = MmPageOutSectionView(AddressSpace, MemoryArea,
|
Status = MmPageOutSectionView(AddressSpace, MemoryArea,
|
||||||
Address, PageOp);
|
Address, PageOp);
|
||||||
}
|
}
|
||||||
else if (Type == MEMORY_AREA_VIRTUAL_MEMORY)
|
else if ((Type == MEMORY_AREA_VIRTUAL_MEMORY) || (Type == MEMORY_AREA_PEB_OR_TEB))
|
||||||
{
|
{
|
||||||
PageOp = MmGetPageOp(MemoryArea, Address < (PVOID)KERNEL_BASE ? Process->UniqueProcessId : NULL,
|
PageOp = MmGetPageOp(MemoryArea, Address < (PVOID)KERNEL_BASE ? Process->UniqueProcessId : NULL,
|
||||||
Address, NULL, 0, MM_PAGEOP_PAGEOUT, TRUE);
|
Address, NULL, 0, MM_PAGEOP_PAGEOUT, TRUE);
|
||||||
|
|
Loading…
Reference in a new issue