diff --git a/reactos/ntoskrnl/mm/pageop.c b/reactos/ntoskrnl/mm/pageop.c index 3e5e779173e..6787f1edeea 100644 --- a/reactos/ntoskrnl/mm/pageop.c +++ b/reactos/ntoskrnl/mm/pageop.c @@ -239,7 +239,7 @@ MmGetPageOp(PMEMORY_AREA MArea, HANDLE Pid, PVOID Address, PageOp->Status = STATUS_PENDING; PageOp->OpType = OpType; PageOp->MArea = MArea; - KeInitializeEvent(&PageOp->CompletionEvent, NotificationEvent, FALSE); + KeInitializeEvent(&PageOp->CompletionEvent, SynchronizationEvent, FALSE); MmPageOpHashTable[Hash] = PageOp; (void)InterlockedIncrementUL(&MArea->PageOpCount); diff --git a/reactos/ntoskrnl/mm/section.c b/reactos/ntoskrnl/mm/section.c index 26bff23b2e4..6fe1221d6da 100644 --- a/reactos/ntoskrnl/mm/section.c +++ b/reactos/ntoskrnl/mm/section.c @@ -4254,6 +4254,7 @@ MmUnmapViewOfSection(PEPROCESS Process, KeBugCheck(MEMORY_MANAGEMENT); } MmLockAddressSpace(AddressSpace); + MmspCompleteAndReleasePageOp(PageOp); MemoryArea = MmLocateMemoryAreaByAddress(AddressSpace, BaseAddress); if (MemoryArea == NULL ||