From bde2ee571a408088995127ef654e88c9512786bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Wed, 27 Jan 2021 09:22:32 +0100 Subject: [PATCH] [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; } }