mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-31 19:26:42 +00:00
[NTOSKRNL]
- Don't change page protection while the memory area is being deleted svn path=/trunk/; revision=54761
This commit is contained in:
@@ -495,7 +495,7 @@ MiProtectVirtualMemory(IN PEPROCESS Process,
|
||||
|
||||
MmLockAddressSpace(AddressSpace);
|
||||
MemoryArea = MmLocateMemoryAreaByAddress(AddressSpace, *BaseAddress);
|
||||
if (MemoryArea == NULL)
|
||||
if (MemoryArea == NULL || MemoryArea->DeleteInProgress)
|
||||
{
|
||||
MmUnlockAddressSpace(AddressSpace);
|
||||
return STATUS_UNSUCCESSFUL;
|
||||
|
||||
@@ -781,6 +781,9 @@ MmFreeMemoryArea(
|
||||
}
|
||||
}
|
||||
|
||||
/* There must be no page ops in progress */
|
||||
ASSERT(MemoryArea->PageOpCount == 0);
|
||||
|
||||
/* Remove the tree item. */
|
||||
{
|
||||
if (MemoryArea->Parent != NULL)
|
||||
|
||||
@@ -149,6 +149,9 @@ MmGetPageOp(PMEMORY_AREA MArea, HANDLE Pid, PVOID Address,
|
||||
Address = (PVOID)PAGE_ROUND_DOWN(Address);
|
||||
Offset = PAGE_ROUND_DOWN(Offset);
|
||||
|
||||
/* Making a page op during marea destruction is illegal */
|
||||
ASSERT(!MArea->DeleteInProgress);
|
||||
|
||||
/*
|
||||
* Calcuate the hash value for pageop structure
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user