mirror of
https://github.com/reactos/reactos.git
synced 2025-02-24 09:25:10 +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:
parent
89857ef31c
commit
deebdc5f40
3 changed files with 7 additions and 1 deletions
|
@ -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
|
||||
*/
|
||||
|
|
Loading…
Reference in a new issue