https://git.reactos.org/?p=reactos.git;a=commitdiff;h=bde2ee571a408088995127...
commit bde2ee571a408088995127ef654e88c9512786bd Author: Jérôme Gardou jerome.gardou@reactos.org AuthorDate: Wed Jan 27 09:22:32 2021 +0100 Commit: Jérôme Gardou jerome.gardou@reactos.org CommitDate: Wed Feb 3 09:41:23 2021 +0100
[NTOS:FSRTL] Properly leave FsRtl when returning STATUS_CANT_WAIT --- ntoskrnl/fsrtl/fastio.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/ntoskrnl/fsrtl/fastio.c b/ntoskrnl/fsrtl/fastio.c index a056b67e109..ce629f77a02 100644 --- a/ntoskrnl/fsrtl/fastio.c +++ b/ntoskrnl/fsrtl/fastio.c @@ -1714,9 +1714,13 @@ FsRtlAcquireFileForCcFlushEx(IN PFILE_OBJECT FileObject)
/* Return either success or inability to wait. In case of other failure - fall through */ - if (Status == STATUS_SUCCESS || - Status == STATUS_CANT_WAIT) + if (NT_SUCCESS(Status)) + return Status; + + if (Status == STATUS_CANT_WAIT) { + DPRINT1("STATUS_CANT_WAIT\n"); + FsRtlExitFileSystem(); return Status; } }