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
|
||||
|
||||
|
||||
## 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)
|
||||
|
||||
- [FIX] Fixes vulnerability CVE-2026-3006 discovered by Tay Kiat Loong (GitHub: @Owl4444).
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
<MyCanonicalVersion>2.2</MyCanonicalVersion>
|
||||
|
||||
<MyProductVersion>2026 Beta2</MyProductVersion>
|
||||
<MyProductVersion>2026 Beta3</MyProductVersion>
|
||||
<MyProductStage>Beta</MyProductStage>
|
||||
|
||||
<MyCrossCert>CrossCert.cer</MyCrossCert>
|
||||
|
||||
+6
-2
@@ -247,8 +247,13 @@ static NTSTATUS FspFsvolWriteCached(
|
||||
FILE_END_OF_FILE_INFORMATION EndOfFileInformation;
|
||||
UINT64 WriteEndOffset;
|
||||
BOOLEAN ExtendingFile;
|
||||
BOOLEAN DeferWrite;
|
||||
BOOLEAN Success;
|
||||
|
||||
/* should we defer the write? */
|
||||
Success = DEBUGTEST(90) && CcCanIWrite(FileObject, WriteLength, CanWait, Retrying);
|
||||
DeferWrite = !Success;
|
||||
|
||||
/* try to acquire the FileNode Main exclusive */
|
||||
Success = DEBUGTEST(90) &&
|
||||
FspFileNodeTryAcquireExclusiveF(FileNode, FspFileNodeAcquireMain, CanWait);
|
||||
@@ -306,8 +311,7 @@ static NTSTATUS FspFsvolWriteCached(
|
||||
}
|
||||
|
||||
/* should we defer the write? */
|
||||
Success = DEBUGTEST(90) && CcCanIWrite(FileObject, WriteLength, CanWait, Retrying);
|
||||
if (!Success)
|
||||
if (DeferWrite)
|
||||
{
|
||||
Result = FspWqCreateIrpWorkItem(Irp, FspFsvolWriteCached, 0);
|
||||
if (NT_SUCCESS(Result))
|
||||
|
||||
Reference in New Issue
Block a user