mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-26 19:33:31 +00:00
FsRtlCheckLockForReadAccess() accepts access through an exclusive byte-range lock when the IRP key matches, even if another process owns the lock. FsRtlFastUnlockAll() likewise removes exclusive locks without checking the Process argument. Require both the key and requestor process for exclusive-read access, and skip exclusive locks owned by other processes in FsRtlFastUnlockAll(). This matches the ownership checks already used by FsRtlFastCheckLockForRead() and FsRtlFastUnlockAllByKey(). Reference: - https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/ntifs/nf-ntifs-_fsrtl_advanced_fcb_header-fsrtlfastchecklockforread