1
0
mirror of https://github.com/winfsp/winfsp.git synced 2026-03-16 05:10:37 -05:00
Commit Graph

932 Commits

Author SHA1 Message Date
Bill Zissimopoulos
ddca7bd548 sys: driver.inf: PnpLockdown=1 2025-06-05 16:02:43 +01:00
Bill Zissimopoulos
c8366af48c update source copyright for 2025 2025-05-15 20:33:31 +01:00
Bill Zissimopoulos
a2cd6978be sys: CcDeferWrite fix 2025-05-15 12:46:00 +01:00
Bill Zissimopoulos
d75e9f7ee6 sys: oplock fix 2025-05-08 21:47:06 +01:00
Bill Zissimopoulos
4fdec4d37f sys: FspFsvolCreate, FspFsvolSetSecurity: absolute security descriptors
Some third party filters send us security descriptors in absolute rather
than self-relative format. Handle this case by converting them to self-
relative format ourselves.
2024-10-10 12:34:04 +01:00
Bill Zissimopoulos
2bf9a6c16e sys: mup: correctly handle relative file object chain (#561) 2024-06-20 12:44:35 +01:00
Bill Zissimopoulos
7551193ad7 update source copyright to 2024 2024-01-08 12:38:44 +00:00
Bill Zissimopoulos
a482183149 sys: FspPropagateTopFlags: check TopLevelIrp not completed
Add a check to verify that the TopLevelIrp has not been completed. This
became necessary because on recent Windows kernels, IRP's can have "IRP
extensions", which are freed when an IRP is completed. This can trigger
a recursive CLOSE with a top-level IRP that has been completed, which
can bugcheck the system.

Case in point: the new (Win11) NtCopyFileChunk creates IRP's with
COPY_INFORMATION attached. Upon completion of such an IRP the
SourceFileObject is freed, which results in a recursive IRP_MJ_CLOSE
with a completed top-level IRP, which would lead to a BSOD.
2023-08-29 13:15:37 +01:00
Bill Zissimopoulos
db319bc3c1 sys,dll: mount improvements
- sys: FspFsvolFileSystemControl: FSCTL_IS_VOLUME_MOUNTED
- dll: mount: Transact0, FspMountNotifyShellDriveChange
2023-02-24 12:02:03 +00:00
Bill Zissimopoulos
97c075e744 sys: FspFsvolQueryDirectoryCopy: add missing continue
A single line change in FspFsvolQueryDirectoryCopy fixes GitHub issue #475.
This commit also includes a test for detecting duplicate directory entries.
Credit for the investigation and reproduction of this issue goes to GitHub
user @hach-que.
2023-02-16 17:07:59 +00:00
Bill Zissimopoulos
52e6aa97b5 build: sys: pacify hardware center validation
Infverif /k no longer likes "undecorated" [DefaultInstall] sections and
instead it wants them "architecture decorated". For example,
[DefaultInstall.ntarm64]. So play along to have our driver signed.

For more information see:
https://learn.microsoft.com/en-us/windows-hardware/drivers/develop/creating-a-primitive-driver
2023-02-01 22:50:35 +00:00
Bill Zissimopoulos
d626fb9563 sys: FspReleaseForModWrite
In some rare cases and under load the mapped page writer's TopLevelIrp
may be trashed by some outside component (observed on Windows 10 1909).

For this reason remove an assertion that could trigger in debug builds.
2023-01-09 15:30:42 +00:00
Bill Zissimopoulos
4f5ad93f00 Merge branch 'master' into pvt-sxs 2022-10-04 15:44:49 +01:00
Bill Zissimopoulos
b9ca46694e sys: FspFileNodeRenameCheck: fix handle oplock break 2022-10-04 15:44:27 +01:00
Bill Zissimopoulos
d1fc5e5d0f Merge branch 'pvt-vpb2' into pvt-sxs-vpb 2022-10-03 15:10:06 +01:00
Bill Zissimopoulos
7f73192f8d sys: FspVolumeCreate
If we have an fsvrt device, mount it via opening the volume.
This ensures that the fsvrt is mounted by the correct fsvol
device early on and remedies a rare case where NTFS crashes
the system when it attempts to mount our fsvrt.
2022-10-02 20:10:32 +01:00
Bill Zissimopoulos
c4ecd15c0a Merge branch 'master' into pvt-sxs 2022-10-02 17:49:47 +01:00
Bill Zissimopoulos
d71049225e sys: FSP_DEVICE_EXTENSION: remove unused SiloContainerId 2022-10-02 17:35:07 +01:00
Bill Zissimopoulos
91d7f3b673 sys: FspSiloInitialize: always initialize FspSiloList and Mutex 2022-10-01 21:08:01 +01:00
Bill Zissimopoulos
4d1594b1cf sys: silo: ensure FspSiloListMutex in critical region 2022-10-01 14:44:17 +01:00
Bill Zissimopoulos
0eb6912296 sys: FspSiloEnumerate, FspDriverFinalizeDevicesForUnload 2022-10-01 10:47:18 +01:00
Bill Zissimopoulos
c237a55951 Merge branch 'master' into pvt-sxs 2022-09-29 17:00:10 +01:00
Bill Zissimopoulos
a3765d6360 sys: silo: FspSiloPostInitialize 2022-09-27 19:55:08 +01:00
Bill Zissimopoulos
2fc2c237d3 dll: FspFsctlEnumServices 2022-09-10 16:23:14 +01:00
Bill Zissimopoulos
90acd19014 sys: FspDeviceDelete: remove DBG code
FspDeviceDelete was recently changed and its DBG code is no longer valid.
2022-09-04 16:58:38 +01:00
Bill Zissimopoulos
9670caa3fe sys,dll: FSP_FSCTL_UNLOAD 2022-08-18 11:05:45 +01:00
Bill Zissimopoulos
005d3e4fb0 sys: FspUnload, FspSxsIdent 2022-08-05 17:41:12 +01:00
Bill Zissimopoulos
f1cfe758ec sys: RejectIrpPriorToTransact0 is always 1 2022-06-29 15:08:34 +01:00
Bill Zissimopoulos
a731f0e5d8 sys,dll: MountUseMountmgrFromFSD 2022-06-27 17:28:24 +01:00
Bill Zissimopoulos
26af6c9363 sys: convert suitable ERESOURCE to FAST_MUTEX 2022-06-10 16:20:24 +01:00
Bill Zissimopoulos
2e441534a3 sys: FspFsvolDeviceLockVolumeNotify 2022-06-10 16:20:19 +01:00
Bill Zissimopoulos
66f3620808 sys: FSP_FSVOL_DEVICE_EXTENSION::VolumeDeleteResource 2022-06-10 16:20:13 +01:00
Bill Zissimopoulos
805742f306 sys: FSP_FSVOL_DEVICE_EXTENSION::VolumeDeleteResource 2022-06-10 16:20:08 +01:00
Bill Zissimopoulos
18842682c8 sys: inline FspFsvolDeviceFileRename* and FspFsvolDeviceLockContextTable 2022-06-10 16:19:57 +01:00
Bill Zissimopoulos
a7a526351f sys: keep extra fsvol device reference
Reference an fsvol device at CREATE time and dereference at CLOSE time,
to ensure that fsvol remains around for DeviceIoControl operations done
after CLEANUP.
2022-06-09 14:28:31 +01:00
Bill Zissimopoulos
69257949ac sys: FspCompareUnicodeString 2022-06-02 13:09:40 +01:00
Bill Zissimopoulos
c7b3312cf6 sys: disable FSP_FILE_NODE_NO_PGIO 2022-05-17 23:44:16 +01:00
Bill Zissimopoulos
c0fa5696d7 sys: FspVolumeFastTransact 2022-05-17 17:25:18 +01:00
Bill Zissimopoulos
43af829d46 sys,dll,inc: FSP_IOCTL_TRANSACT 2022-05-16 21:40:01 +01:00
Bill Zissimopoulos
df4c19c113 sys: FSP_FILE_NODE_NO_PGIO 2022-04-19 15:21:54 +01:00
Bill Zissimopoulos
deaf475861 sys: FSP_ENTER_FIO: handle bogus fast I/O to fsctl device 2022-04-19 14:29:29 +01:00
Bill Zissimopoulos
1a879e3302 inc, src: PostDispositionWhenNecessaryOnly
- Rename PostDispositionForDirOnly to PostDispositionWhenNecessaryOnly

- Implement PostDispositionWhenNecessaryOnly across the board
2022-04-02 12:48:35 +01:00
Bill Zissimopoulos
98421fe11b inc,sys,tst: fsctl: PostDispositionForDirOnly 2022-04-01 20:54:54 +01:00
Bill Zissimopoulos
d816d607f4 sys: FspFsvolDeviceDirInfoCacheItemSizeMax: increase to 64K 2022-03-24 18:10:04 +00:00
Bill Zissimopoulos
20680fa5b5 sys: FastIo: read/write implementation 2022-03-20 20:31:54 +00:00
Bill Zissimopoulos
29251dc2be sys, dll: convert memory barriers to interlocked operations 2022-01-19 10:55:46 +00:00
Bill Zissimopoulos
04c2f0120c sys: remove wait group (Wgroup) functionality 2022-01-17 14:30:06 +00:00
Bill Zissimopoulos
228f1d658d sys: FspVolumeNotify: allow multiple outstanding calls to FspFileSystemNotifyBegin 2022-01-15 15:46:56 +00:00
Bill Zissimopoulos
57fce78ff3 sys: FspVolumeNotifyWork: always acquire the rename lock shared 2022-01-12 15:43:05 +00:00
Bill Zissimopoulos
751eaa69df update source copyright to 2022 2022-01-07 17:30:49 +00:00