https://git.reactos.org/?p=reactos.git;a=commitdiff;h=af4e39385cc269eb8e35132f5ed30a0d23fec41c

commit af4e39385cc269eb8e35132f5ed30a0d23fec41c
Author:     Thamatip Chitpong <[email protected]>
AuthorDate: Mon Nov 25 23:35:48 2024 +0700
Commit:     GitHub <[email protected]>
CommitDate: Mon Nov 25 23:35:48 2024 +0700

    [NTOS:CC] CcRosInitializeFileCache: Fix a missing spinlock release
---
 ntoskrnl/cc/view.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/ntoskrnl/cc/view.c b/ntoskrnl/cc/view.c
index e4b78d46402..774e5e9d426 100644
--- a/ntoskrnl/cc/view.c
+++ b/ntoskrnl/cc/view.c
@@ -1304,10 +1304,10 @@ CcRosInitializeFileCache (
     SharedCacheMap = FileObject->SectionObjectPointer->SharedCacheMap;
     if (SharedCacheMap == NULL)
     {
-        Allocated = TRUE;
         SharedCacheMap = 
ExAllocateFromNPagedLookasideList(&SharedCacheMapLookasideList);
         if (SharedCacheMap == NULL)
         {
+            KeReleaseQueuedSpinLock(LockQueueMasterLock, OldIrql);
             return STATUS_INSUFFICIENT_RESOURCES;
         }
         RtlZeroMemory(SharedCacheMap, sizeof(*SharedCacheMap));
@@ -1335,6 +1335,7 @@ CcRosInitializeFileCache (
                                    NULL,
                                    KernelMode);
 
+        Allocated = TRUE;
         FileObject->SectionObjectPointer->SharedCacheMap = SharedCacheMap;
 
         //CcRosTraceCacheMap(SharedCacheMap, TRUE);

Reply via email to