From 010b9b5469377fbddf2d632de9a3945d7e522643 Mon Sep 17 00:00:00 2001 From: Pierre Schweitzer Date: Sat, 17 Nov 2018 15:32:10 +0100 Subject: [PATCH] [NTOSKRNL] Implement ExGetRunRefForCurrentProcessor() to get runref for a proc --- ntoskrnl/include/internal/ex.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ntoskrnl/include/internal/ex.h b/ntoskrnl/include/internal/ex.h index a8e715aadda..e09eb9ba05c 100644 --- a/ntoskrnl/include/internal/ex.h +++ b/ntoskrnl/include/internal/ex.h @@ -545,6 +545,15 @@ ExGetCountFastReference(IN EX_FAST_REF FastRef) return (ULONG)FastRef.RefCnt; } +FORCEINLINE +PEX_RUNDOWN_REF +ExGetRunRefForCurrentProcessor(IN PEX_RUNDOWN_REF_CACHE_AWARE RunRefCacheAware) +{ + return (PEX_RUNDOWN_REF)((ULONG_PTR)RunRefCacheAware->RunRefs + + RunRefCacheAware->RunRefSize * + (KeGetCurrentProcessorNumber() % RunRefCacheAware->Number)); +} + FORCEINLINE VOID ExInitializeFastReference(OUT PEX_FAST_REF FastRef,