mirror of
https://github.com/winfsp/winfsp.git
synced 2026-09-03 09:18:38 -05:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e3ecc89bb7 | ||
|
|
83aa54b4ab |
@@ -1,6 +1,25 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
|
||||||
|
## v2.2B3 (2026 Beta3)
|
||||||
|
|
||||||
|
- [FIX] Fixes vulnerability CVE-2026-3006 discovered by Tay Kiat Loong (GitHub: @Owl4444).
|
||||||
|
|
||||||
|
- [FIX] Fixes vulnerability CVE-2026-7162 discovered by Tay Kiat Loong (GitHub: @Owl4444) and uhg (GitHub: @UltimateHG).
|
||||||
|
|
||||||
|
- [FIX] Fixes deadlock during cached writes under memory pressure. See PR #677 for discussion.
|
||||||
|
|
||||||
|
- [FIX] Fixes deadlock in the file system notification mechanism with concurrent renames. See fix PR #669 by @yeonsh and test PR #672 by @Maksim-Isakau.
|
||||||
|
|
||||||
|
- [FIX] The WinFsp Network Provider provides improved shell support for network file systems not managed by the Launcher. See commit f021496.
|
||||||
|
|
||||||
|
- [FUSE] Add FUSE option `FlushOnCleanup`. See PR #614 by @chenjie4255.
|
||||||
|
|
||||||
|
- [FUSE] FUSE now respects the `direct_io` flag. See PR #646 by @chenjie4255.
|
||||||
|
|
||||||
|
- [FUSE] Add FUSE option `AddWriteEaAccess`. See PR #648 by @chenjie4255.
|
||||||
|
|
||||||
|
|
||||||
## v2.2B2 (2026 Beta2)
|
## v2.2B2 (2026 Beta2)
|
||||||
|
|
||||||
- [FIX] Fixes vulnerability CVE-2026-3006 discovered by Tay Kiat Loong (GitHub: @Owl4444).
|
- [FIX] Fixes vulnerability CVE-2026-3006 discovered by Tay Kiat Loong (GitHub: @Owl4444).
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
<MyCanonicalVersion>2.2</MyCanonicalVersion>
|
<MyCanonicalVersion>2.2</MyCanonicalVersion>
|
||||||
|
|
||||||
<MyProductVersion>2026 Beta2</MyProductVersion>
|
<MyProductVersion>2026 Beta3</MyProductVersion>
|
||||||
<MyProductStage>Beta</MyProductStage>
|
<MyProductStage>Beta</MyProductStage>
|
||||||
|
|
||||||
<MyCrossCert>CrossCert.cer</MyCrossCert>
|
<MyCrossCert>CrossCert.cer</MyCrossCert>
|
||||||
|
|||||||
+6
-2
@@ -247,8 +247,13 @@ static NTSTATUS FspFsvolWriteCached(
|
|||||||
FILE_END_OF_FILE_INFORMATION EndOfFileInformation;
|
FILE_END_OF_FILE_INFORMATION EndOfFileInformation;
|
||||||
UINT64 WriteEndOffset;
|
UINT64 WriteEndOffset;
|
||||||
BOOLEAN ExtendingFile;
|
BOOLEAN ExtendingFile;
|
||||||
|
BOOLEAN DeferWrite;
|
||||||
BOOLEAN Success;
|
BOOLEAN Success;
|
||||||
|
|
||||||
|
/* should we defer the write? */
|
||||||
|
Success = DEBUGTEST(90) && CcCanIWrite(FileObject, WriteLength, CanWait, Retrying);
|
||||||
|
DeferWrite = !Success;
|
||||||
|
|
||||||
/* try to acquire the FileNode Main exclusive */
|
/* try to acquire the FileNode Main exclusive */
|
||||||
Success = DEBUGTEST(90) &&
|
Success = DEBUGTEST(90) &&
|
||||||
FspFileNodeTryAcquireExclusiveF(FileNode, FspFileNodeAcquireMain, CanWait);
|
FspFileNodeTryAcquireExclusiveF(FileNode, FspFileNodeAcquireMain, CanWait);
|
||||||
@@ -306,8 +311,7 @@ static NTSTATUS FspFsvolWriteCached(
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* should we defer the write? */
|
/* should we defer the write? */
|
||||||
Success = DEBUGTEST(90) && CcCanIWrite(FileObject, WriteLength, CanWait, Retrying);
|
if (DeferWrite)
|
||||||
if (!Success)
|
|
||||||
{
|
{
|
||||||
Result = FspWqCreateIrpWorkItem(Irp, FspFsvolWriteCached, 0);
|
Result = FspWqCreateIrpWorkItem(Irp, FspFsvolWriteCached, 0);
|
||||||
if (NT_SUCCESS(Result))
|
if (NT_SUCCESS(Result))
|
||||||
|
|||||||
Reference in New Issue
Block a user