diff --git "a/ntoskrnl/fsrtl/fastio.c" "b/ntoskrnl/fsrtl/fastio.c" index 8e19b2d77a9..3c058622a08 100644 --- "a/ntoskrnl/fsrtl/fastio.c" +++ "b/ntoskrnl/fsrtl/fastio.c" @@ -1605,7 +1605,9 @@ FsRtlAcquireFileExclusiveCommon(IN PFILE_OBJECT FileObject, FilterCallbacks->PostAcquireForSectionSynchronization(&CbData, Status, CompletionContext); } - return Status; + /* Do not return now. We must acquire the file's resource before leaving. */ + if (Status != STATUS_SUCCESS) + return Status; } FastDispatch = DeviceObject->DriverObject->FastIoDispatch;