mirror of
https://github.com/reactos/reactos.git
synced 2025-02-23 08:55:19 +00:00
[NTOSKRNL]
On CcInitializeCacheMap() call, keep track of the PinAccess value so that we can later check it on pinning. It shouldn't be set to FALSE when the user attempts to perform pinning CORE-11310 svn path=/trunk/; revision=71404
This commit is contained in:
parent
3caf22d458
commit
c43741c804
4 changed files with 15 additions and 0 deletions
|
@ -103,6 +103,7 @@ CcInitializeCacheMap (
|
|||
/* Call old ROS cache init function */
|
||||
Status = CcRosInitializeFileCache(FileObject,
|
||||
FileSizes,
|
||||
PinAccess,
|
||||
CallBacks,
|
||||
LazyWriterContext);
|
||||
if (!NT_SUCCESS(Status))
|
||||
|
|
|
@ -133,9 +133,19 @@ CcPinMappedData (
|
|||
IN ULONG Flags,
|
||||
OUT PVOID * Bcb)
|
||||
{
|
||||
PROS_SHARED_CACHE_MAP SharedCacheMap;
|
||||
|
||||
CCTRACE(CC_API_DEBUG, "FileOffset=%p FileOffset=%p Length=%lu Flags=0x%lx\n",
|
||||
FileObject, FileOffset, Length, Flags);
|
||||
|
||||
ASSERT(FileObject);
|
||||
ASSERT(FileObject->SectionObjectPointer);
|
||||
ASSERT(FileObject->SectionObjectPointer->SharedCacheMap);
|
||||
|
||||
SharedCacheMap = FileObject->SectionObjectPointer->SharedCacheMap;
|
||||
ASSERT(SharedCacheMap);
|
||||
ASSERT(SharedCacheMap->PinAccess);
|
||||
|
||||
/* no-op for current implementation. */
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
@ -1141,6 +1141,7 @@ NTAPI
|
|||
CcRosInitializeFileCache (
|
||||
PFILE_OBJECT FileObject,
|
||||
PCC_FILE_SIZES FileSizes,
|
||||
BOOLEAN PinAccess,
|
||||
PCACHE_MANAGER_CALLBACKS CallBacks,
|
||||
PVOID LazyWriterContext)
|
||||
/*
|
||||
|
@ -1172,6 +1173,7 @@ CcRosInitializeFileCache (
|
|||
SharedCacheMap->LazyWriteContext = LazyWriterContext;
|
||||
SharedCacheMap->SectionSize = FileSizes->AllocationSize;
|
||||
SharedCacheMap->FileSize = FileSizes->FileSize;
|
||||
SharedCacheMap->PinAccess = PinAccess;
|
||||
KeInitializeSpinLock(&SharedCacheMap->CacheMapLock);
|
||||
InitializeListHead(&SharedCacheMap->CacheMapVacbListHead);
|
||||
FileObject->SectionObjectPointer->SharedCacheMap = SharedCacheMap;
|
||||
|
|
|
@ -149,6 +149,7 @@ typedef struct _ROS_SHARED_CACHE_MAP
|
|||
PFILE_OBJECT FileObject;
|
||||
LARGE_INTEGER SectionSize;
|
||||
LARGE_INTEGER FileSize;
|
||||
BOOLEAN PinAccess;
|
||||
PCACHE_MANAGER_CALLBACKS Callbacks;
|
||||
PVOID LazyWriteContext;
|
||||
KSPIN_LOCK CacheMapLock;
|
||||
|
@ -320,6 +321,7 @@ NTAPI
|
|||
CcRosInitializeFileCache(
|
||||
PFILE_OBJECT FileObject,
|
||||
PCC_FILE_SIZES FileSizes,
|
||||
BOOLEAN PinAccess,
|
||||
PCACHE_MANAGER_CALLBACKS CallBacks,
|
||||
PVOID LazyWriterContext
|
||||
);
|
||||
|
|
Loading…
Reference in a new issue