From 4d974e56eeabc0fe74a7d74785c1bf505e8ea3f7 Mon Sep 17 00:00:00 2001 From: Pierre Schweitzer Date: Sun, 9 Dec 2018 18:25:11 +0100 Subject: [PATCH] [NTOSKRNL] Return the amount of hits in system lookaside lists in ExQueryPoolUsage() --- ntoskrnl/mm/ARM3/expool.c | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/ntoskrnl/mm/ARM3/expool.c b/ntoskrnl/mm/ARM3/expool.c index de75cfbd25a..0828126d878 100644 --- a/ntoskrnl/mm/ARM3/expool.c +++ b/ntoskrnl/mm/ARM3/expool.c @@ -1669,10 +1669,30 @@ ExQueryPoolUsage(OUT PULONG PagedPoolPages, #endif // - // FIXME: Not yet supported + // Get the amount of hits in the system lookaside lists // - *NonPagedPoolLookasideHits += 0; - *PagedPoolLookasideHits += 0; + if (!IsListEmpty(&ExPoolLookasideListHead)) + { + PLIST_ENTRY ListEntry; + + for (ListEntry = ExPoolLookasideListHead.Flink; + ListEntry != &ExPoolLookasideListHead; + ListEntry = ListEntry->Flink) + { + PGENERAL_LOOKASIDE Lookaside; + + Lookaside = CONTAINING_RECORD(ListEntry, GENERAL_LOOKASIDE, ListEntry); + + if (Lookaside->Type == NonPagedPool) + { + *NonPagedPoolLookasideHits += Lookaside->AllocateHits; + } + else + { + *PagedPoolLookasideHits += Lookaside->AllocateHits; + } + } + } } VOID