Author: tfaber Date: Fri Nov 27 07:49:31 2015 New Revision: 70144
URL: http://svn.reactos.org/svn/reactos?rev=70144&view=rev Log: [NTOS:FSRTL] - FILE_LOCK_INFO::ProcessId is really an EPROCESS pointer, not a process id
Modified: trunk/reactos/ntoskrnl/fsrtl/filelock.c
Modified: trunk/reactos/ntoskrnl/fsrtl/filelock.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/fsrtl/filelock.c?r... ============================================================================== --- trunk/reactos/ntoskrnl/fsrtl/filelock.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/fsrtl/filelock.c [iso-8859-1] Fri Nov 27 07:49:31 2015 @@ -418,7 +418,7 @@ ToInsert.Exclusive.FileLock.FileObject = FileObject; ToInsert.Exclusive.FileLock.StartingByte = *FileOffset; ToInsert.Exclusive.FileLock.EndingByte.QuadPart = FileOffset->QuadPart + Length->QuadPart; - ToInsert.Exclusive.FileLock.ProcessId = Process->UniqueProcessId; + ToInsert.Exclusive.FileLock.ProcessId = Process; ToInsert.Exclusive.FileLock.Key = Key; ToInsert.Exclusive.FileLock.ExclusiveLock = ExclusiveLock;
@@ -643,7 +643,7 @@ NewSharedRange->Start = *FileOffset; NewSharedRange->End.QuadPart = FileOffset->QuadPart + Length->QuadPart; NewSharedRange->Key = Key; - NewSharedRange->ProcessId = Process->UniqueProcessId; + NewSharedRange->ProcessId = Process; InsertTailList(&LockInfo->SharedLocks, &NewSharedRange->Entry); }
@@ -739,7 +739,7 @@ DPRINT("CheckLockForWriteAccess(%wZ) => TRUE\n", &IoStack->FileObject->FileName); return TRUE; } - Result = Process->UniqueProcessId == Found->Exclusive.FileLock.ProcessId; + Result = Process == Found->Exclusive.FileLock.ProcessId; DPRINT("CheckLockForWriteAccess(%wZ) => %s\n", &IoStack->FileObject->FileName, Result ? "TRUE" : "FALSE"); return Result; } @@ -775,7 +775,7 @@ &ToFind); if (!Found || !Found->Exclusive.FileLock.ExclusiveLock) return TRUE; return Found->Exclusive.FileLock.Key == Key && - Found->Exclusive.FileLock.ProcessId == EProcess->UniqueProcessId; + Found->Exclusive.FileLock.ProcessId == EProcess; }
/* @@ -816,7 +816,7 @@ return TRUE; } Result = Found->Exclusive.FileLock.Key == Key && - Found->Exclusive.FileLock.ProcessId == EProcess->UniqueProcessId; + Found->Exclusive.FileLock.ProcessId == EProcess; DPRINT("CheckForWrite(%wZ) => %s\n", &FileObject->FileName, Result ? "TRUE" : "FALSE"); return Result; } @@ -879,7 +879,7 @@ if (Entry->Exclusive.FileLock.ExclusiveLock) { if (Entry->Exclusive.FileLock.Key != Key || - Entry->Exclusive.FileLock.ProcessId != Process->UniqueProcessId || + Entry->Exclusive.FileLock.ProcessId != Process || Entry->Exclusive.FileLock.StartingByte.QuadPart != FileOffset->QuadPart || Entry->Exclusive.FileLock.EndingByte.QuadPart != FileOffset->QuadPart + Length->QuadPart) @@ -907,7 +907,7 @@ if (SharedRange->Start.QuadPart == FileOffset->QuadPart && SharedRange->End.QuadPart == FileOffset->QuadPart + Length->QuadPart && SharedRange->Key == Key && - SharedRange->ProcessId == Process->UniqueProcessId) + SharedRange->ProcessId == Process) { FoundShared = TRUE; DPRINT("Found shared element to delete %wZ Start %08x%08x End %08x%08x Key %x\n", @@ -1044,7 +1044,7 @@ PLOCK_SHARED_RANGE Range = CONTAINING_RECORD(ListEntry, LOCK_SHARED_RANGE, Entry); Length.QuadPart = Range->End.QuadPart - Range->Start.QuadPart; ListEntry = ListEntry->Flink; - if (Range->ProcessId != Process->UniqueProcessId) + if (Range->ProcessId != Process) continue; FsRtlFastUnlockSingle (FileLock, @@ -1105,7 +1105,7 @@ LARGE_INTEGER Length; Length.QuadPart = Range->End.QuadPart - Range->Start.QuadPart; ListEntry = ListEntry->Flink; - if (Range->ProcessId != Process->UniqueProcessId || + if (Range->ProcessId != Process || Range->Key != Key) continue; FsRtlFastUnlockSingle @@ -1128,7 +1128,7 @@ Entry->Exclusive.FileLock.EndingByte.QuadPart - Entry->Exclusive.FileLock.StartingByte.QuadPart; if (Entry->Exclusive.FileLock.Key == Key && - Entry->Exclusive.FileLock.ProcessId == Process->UniqueProcessId) + Entry->Exclusive.FileLock.ProcessId == Process) { FsRtlFastUnlockSingle (FileLock,