From 595df7609189bdd6750a62f176d85910e42429fb Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Sat, 16 May 2015 20:10:41 +0000 Subject: [PATCH] [NTOSKRNL] Add an MMVAD to the MEMORY_AREA structure, instead of allocating a new one to synchronize with the process VAD tree svn path=/trunk/; revision=67787 --- reactos/ntoskrnl/include/internal/mm.h | 1 + reactos/ntoskrnl/mm/marea.c | 5 ++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/reactos/ntoskrnl/include/internal/mm.h b/reactos/ntoskrnl/include/internal/mm.h index 7415aeffe73..f61ac5cf55a 100644 --- a/reactos/ntoskrnl/include/internal/mm.h +++ b/reactos/ntoskrnl/include/internal/mm.h @@ -204,6 +204,7 @@ typedef struct _ROS_SECTION_OBJECT typedef struct _MEMORY_AREA { + MMVAD VadNode; ULONG_PTR StartingVpn; ULONG_PTR EndingVpn; struct _MEMORY_AREA *Parent; diff --git a/reactos/ntoskrnl/mm/marea.c b/reactos/ntoskrnl/mm/marea.c index bae8d0d1577..488184a4d95 100644 --- a/reactos/ntoskrnl/mm/marea.c +++ b/reactos/ntoskrnl/mm/marea.c @@ -384,8 +384,8 @@ MmInsertMemoryArea( PMMVAD Vad; ASSERT(marea->Type == MEMORY_AREA_SECTION_VIEW || marea->Type == MEMORY_AREA_CACHE); - Vad = ExAllocatePoolWithTag(NonPagedPool, sizeof(MMVAD), TAG_MVAD); - ASSERT(Vad); + Vad = &marea->VadNode; + RtlZeroMemory(Vad, sizeof(MMVAD)); Vad->StartingVpn = PAGE_ROUND_DOWN(MA_GetStartingAddress(marea)) >> PAGE_SHIFT; /* @@ -825,7 +825,6 @@ MmFreeMemoryArea( MiRemoveNode(MemoryArea->Vad, &Process->VadRoot); } - ExFreePoolWithTag(MemoryArea->Vad, TAG_MVAD); MemoryArea->Vad = NULL; } }