[NTOSKRNL:CC] CcSetDirtyPinnedData :: use reconstructed OBCB Structure

Their no PBCB anymore, since we reconstructed it by looking at _OBCB  which is reconstructed from CcAllocateObcb, 
we know that bcb array is array of PCC_BCB structure, thus modified CcSetDirtyPinnedData to use OBCB instead
This commit is contained in:
Dibyamartanda Samanta 2024-08-07 15:09:57 +02:00 committed by CodingWorkshop Signing Team
parent 4258a10fbb
commit 10527bf405
Signed by: CodingWorkshop Signing Team
GPG Key ID: 6DC88369C82795D2

View File

@ -125,12 +125,12 @@ CcMapDataForOverwrite(
VOID VOID
NTAPI NTAPI
CcSetDirtyPinnedData( CcSetDirtyPinnedData(
IN PBCB BcbVoid, IN POBCB BcbVoid,
IN PLARGE_INTEGER Lsn OPTIONAL) IN PLARGE_INTEGER Lsn OPTIONAL)
{ {
PSHARED_CACHE_MAP SharedCacheMap; PSHARED_CACHE_MAP SharedCacheMap;
PBCB Bcb; PCC_BCB Bcb;
PBCB* BcbArray; PCC_BCB* BcbArray;
PFAST_MUTEX Mutex; PFAST_MUTEX Mutex;
KIRQL OldIrql; KIRQL OldIrql;
ULONG PagesToWrite; ULONG PagesToWrite;
@ -139,7 +139,7 @@ CcSetDirtyPinnedData(
if (BcbVoid->NodeTypeCode == 762) if (BcbVoid->NodeTypeCode == 762)
{ {
BcbArray = (ULONG_PTR)BcbVoid-Bcbs; BcbArray = reinterpret_cast<PCC_BCB>(BcbVoid->Bcbs);
} }
SharedCacheMap = (*BcbArray)->SharedCacheMap; SharedCacheMap = (*BcbArray)->SharedCacheMap;