diff --git a/src/sys/device.c b/src/sys/device.c index 31a15f1a..734c5ef7 100644 --- a/src/sys/device.c +++ b/src/sys/device.c @@ -206,6 +206,7 @@ VOID FspDeviceDelete(PDEVICE_OBJECT DeviceObject) } #if DBG +#pragma prefast(suppress:28175, "Debugging only: ok to access DeviceObject->Size") RtlFillMemory(&DeviceExtension->Kind, (PUINT8)DeviceObject + DeviceObject->Size - (PUINT8)&DeviceExtension->Kind, 0xBD); #endif diff --git a/src/sys/util.c b/src/sys/util.c index 16dc173e..98830b20 100644 --- a/src/sys/util.c +++ b/src/sys/util.c @@ -793,6 +793,7 @@ NTSTATUS FspSafeMdlCreate(PMDL UserMdl, LOCK_OPERATION Operation, FSP_SAFE_MDL * Result = STATUS_INSUFFICIENT_RESOURCES; goto exit; } +#pragma prefast(suppress:28145, "We are a filesystem: ok to access MdlFlags") SafeMdl->Mdl->MdlFlags |= MDL_PAGES_LOCKED; UserPfnArray = MmGetMdlPfnArray(UserMdl); SafePfnArray = MmGetMdlPfnArray(SafeMdl->Mdl); diff --git a/src/sys/write.c b/src/sys/write.c index ea611ba1..2cf169e0 100644 --- a/src/sys/write.c +++ b/src/sys/write.c @@ -23,7 +23,6 @@ FSP_DRIVER_DISPATCH FspWrite; #ifdef ALLOC_PRAGMA #pragma alloc_text(PAGE, FspFsvolWrite) #pragma alloc_text(PAGE, FspFsvolWriteCached) -#pragma alloc_text(PAGE, FspFsvolWriteCachedDeferred) #pragma alloc_text(PAGE, FspFsvolWriteNonCached) #pragma alloc_text(PAGE, FspFsvolWritePrepare) #pragma alloc_text(PAGE, FspFsvolWriteComplete) @@ -235,6 +234,8 @@ cleanup: static VOID FspFsvolWriteCachedDeferred(PVOID Context1, PVOID Context2) { + // !PAGED_CODE(); + FspWqPostIrpWorkItem(Context1); }