From 82731d1fe75019eed010bd21bdbfc40705fc5dc8 Mon Sep 17 00:00:00 2001 From: Dmitry Bolshakov Date: Wed, 21 Jan 2026 23:00:27 +0300 Subject: [PATCH] Don't clear Flag and Flag2 members in FSRTL_ADVANCED_FCB_HEADER --- Ext4Fsd/memory.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/Ext4Fsd/memory.c b/Ext4Fsd/memory.c index f5debc2..39d992a 100644 --- a/Ext4Fsd/memory.c +++ b/Ext4Fsd/memory.c @@ -147,11 +147,6 @@ Ext2AllocateFcb ( Fcb->Identifier.Type = EXT2FCB; Fcb->Identifier.Size = sizeof(EXT2_FCB); -#ifndef _WIN2K_TARGET_ - ExInitializeFastMutex(&Fcb->Mutex); - FsRtlSetupAdvancedHeader(&Fcb->Header, &Fcb->Mutex); -#endif - FsRtlInitializeOplock(&Fcb->Oplock); FsRtlInitializeFileLock ( &Fcb->FileLockAnchor, @@ -171,7 +166,6 @@ Ext2AllocateFcb ( DEBUG(DL_RES, ("Ext2AllocateFcb: Fcb %p created: %wZ.\n", Fcb, &Fcb->Mcb->FullName)); - RtlZeroMemory(&Fcb->Header, sizeof(FSRTL_COMMON_FCB_HEADER)); Fcb->Header.NodeTypeCode = (USHORT) EXT2FCB; Fcb->Header.NodeByteSize = sizeof(EXT2_FCB); Fcb->Header.IsFastIoPossible = FastIoIsNotPossible; @@ -183,6 +177,11 @@ Ext2AllocateFcb ( Fcb->Header.AllocationSize.QuadPart = CEILING_ALIGNED(ULONGLONG, Fcb->Header.FileSize.QuadPart, (ULONGLONG)Vcb->BlockSize); +#ifndef _WIN2K_TARGET_ + ExInitializeFastMutex(&Fcb->Mutex); + FsRtlSetupAdvancedHeader(&Fcb->Header, &Fcb->Mutex); +#endif + Fcb->SectionObject.DataSectionObject = NULL; Fcb->SectionObject.SharedCacheMap = NULL; Fcb->SectionObject.ImageSectionObject = NULL;