[NTOSKRNL] Properly reset pinning state on pinning failure
authorPierre Schweitzer <pierre@reactos.org>
Sun, 26 Aug 2018 20:56:25 +0000 (22:56 +0200)
committerPierre Schweitzer <pierre@reactos.org>
Sun, 26 Aug 2018 20:56:25 +0000 (22:56 +0200)
ntoskrnl/cc/pin.c

index 3a0ee6e..65525ee 100644 (file)
@@ -191,6 +191,12 @@ CcPinMappedData (
         Result = ExAcquireSharedStarveExclusive(&iBcb->Lock, BooleanFlagOn(Flags, PIN_WAIT));
     }
 
+    if (!Result)
+    {
+        iBcb->Pinned = FALSE;
+        iBcb->Vacb->PinCount--;
+    }
+
     return Result;
 }