https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f9e430f65ba85e52a0a8d…
commit f9e430f65ba85e52a0a8d9f694f23373dbb56806
Author: Oleg Dubinskiy <oleg.dubinskij30(a)gmail.com>
AuthorDate: Wed Nov 20 16:52:38 2024 +0100
Commit: GitHub <noreply(a)github.com>
CommitDate: Wed Nov 20 09:52:38 2024 -0600
[NTOS:FSRTL] FsRtlAcquireFileExclusiveCommon: don't return before acquiring a file
resource, except special cases (#7273)
* Don't return before file object's resource is acquired in
FsRtlAcquireFileExclusiveCommon, except some special return cases, when return is reuired.
Based on hpoussin_filter_extra.patch by Herve Poussineau (hpoussin) with improved comment,
which matches the actual behaviour now.
This is required by fltmgr.sys driver from Windows XP/Server 2003 to work correctly,
so this change fixes asserts/exceptions when releasing the file via FsRtlReleaseFile after
acquiring, when using 3rd party filter drivers from several antivirus programs (e. g.,
Avast Free Antivirus all versions, AVG Antivirus Free 18.8, Avira AntiVir Personal 8.2,
Dr. Web Security Space 8.0, Kaspersky Antivirus 2012 etc. etc.).
CORE-14157, CORE-14635, CORE-19318
* Add braces around return
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito(a)reactos.org>
* Improve the comment (make it more detailed)
* Correct checks sequence
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito(a)reactos.org>