[NTOSKRNL]

- Don't treat the head of the tracking block list as a list entry.

svn path=/trunk/; revision=51981
This commit is contained in:
Roel Messiant
2011-05-28 17:56:07 +00:00
parent 21803c4ad1
commit 91ed75b1f7
+2 -2
View File
@@ -164,7 +164,7 @@ IoReleaseRemoveLockEx(IN PIO_REMOVE_LOCK RemoveLock,
/* Start browsing tracking blocks to find a block that would match given tag */
TagFound = FALSE;
for (ListEntry = (PSINGLE_LIST_ENTRY)&Lock->Dbg.Blocks; ListEntry; ListEntry = ListEntry->Next)
for (ListEntry = ((PSINGLE_LIST_ENTRY)&Lock->Dbg.Blocks)->Next; ListEntry; ListEntry = ListEntry->Next)
{
TrackingBlock = CONTAINING_RECORD(ListEntry, IO_REMOVE_LOCK_TRACKING_BLOCK, BlockEntry);
@@ -186,7 +186,7 @@ IoReleaseRemoveLockEx(IN PIO_REMOVE_LOCK RemoveLock,
{
/* Yes, then remove it from the queue and free it */
TagFound = TRUE;
if (ListEntry == (PSINGLE_LIST_ENTRY)&Lock->Dbg.Blocks)
if (ListEntry == ((PSINGLE_LIST_ENTRY)&Lock->Dbg.Blocks)->Next)
{
/* Here it is head, remove it using macro */
PopEntryList((PSINGLE_LIST_ENTRY)&(Lock->Dbg.Blocks));