https://git.reactos.org/?p=reactos.git;a=commitdiff;h=9f3169b295a03d13c38eb3a9cdb7cbe0e770c76c

commit 9f3169b295a03d13c38eb3a9cdb7cbe0e770c76c
Author:     Pierre Schweitzer <[email protected]>
AuthorDate: Mon May 28 09:01:39 2018 +0200
Commit:     Pierre Schweitzer <[email protected]>
CommitDate: Mon May 28 19:37:56 2018 +0200

    [FASTFAT] Lock DirResource on flush in case we're updating entry
    
    CORE-14660
---
 drivers/filesystems/fastfat/flush.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/filesystems/fastfat/flush.c 
b/drivers/filesystems/fastfat/flush.c
index ebf1925172..22a8c6d08f 100644
--- a/drivers/filesystems/fastfat/flush.c
+++ b/drivers/filesystems/fastfat/flush.c
@@ -33,6 +33,7 @@ VfatFlushFile(
         IoStatus.Status = STATUS_SUCCESS;
     }
 
+    ExAcquireResourceExclusiveLite(&DeviceExt->DirResource, TRUE);
     if (BooleanFlagOn(Fcb->Flags, FCB_IS_DIRTY))
     {
         Status = VfatUpdateEntry(DeviceExt, Fcb);
@@ -41,6 +42,8 @@ VfatFlushFile(
             IoStatus.Status = Status;
         }
     }
+    ExReleaseResourceLite(&DeviceExt->DirResource);
+
     return IoStatus.Status;
 }
 

Reply via email to