Fix MmGetSystemAddressForMdlSafe() call, as it was done in r67808

svn path=/trunk/; revision=67912
This commit is contained in:
Pierre Schweitzer 2015-05-25 17:43:04 +00:00
parent 37a429b0be
commit 3deb2b256e
4 changed files with 7 additions and 5 deletions

View file

@ -712,7 +712,7 @@ GetVolumeBitmap(PDEVICE_EXTENSION DeviceExt,
return STATUS_BUFFER_TOO_SMALL; return STATUS_BUFFER_TOO_SMALL;
} }
BitmapBuffer = NtfsGetUserBuffer(Irp); BitmapBuffer = NtfsGetUserBuffer(Irp, FALSE);
if (Irp->RequestorMode == UserMode) if (Irp->RequestorMode == UserMode)
{ {
_SEH2_TRY _SEH2_TRY

View file

@ -117,11 +117,12 @@ NtfsFileFlagsToAttributes(ULONG NtfsAttributes,
} }
PVOID PVOID
NtfsGetUserBuffer(PIRP Irp) NtfsGetUserBuffer(PIRP Irp,
BOOLEAN Paging)
{ {
if (Irp->MdlAddress != NULL) if (Irp->MdlAddress != NULL)
{ {
return MmGetSystemAddressForMdlSafe(Irp->MdlAddress, HighPagePriority); return MmGetSystemAddressForMdlSafe(Irp->MdlAddress, (Paging ? HighPagePriority : NormalPagePriority));
} }
else else
{ {

View file

@ -743,7 +743,8 @@ NtfsAllocateIrpContext(PDEVICE_OBJECT DeviceObject,
PIRP Irp); PIRP Irp);
PVOID PVOID
NtfsGetUserBuffer(PIRP Irp); NtfsGetUserBuffer(PIRP Irp,
BOOLEAN Paging);
#if 0 #if 0
BOOLEAN BOOLEAN

View file

@ -196,7 +196,7 @@ NtfsRead(PNTFS_IRP_CONTEXT IrpContext)
DeviceExt = DeviceObject->DeviceExtension; DeviceExt = DeviceObject->DeviceExtension;
ReadLength = Stack->Parameters.Read.Length; ReadLength = Stack->Parameters.Read.Length;
ReadOffset = Stack->Parameters.Read.ByteOffset; ReadOffset = Stack->Parameters.Read.ByteOffset;
Buffer = NtfsGetUserBuffer(Irp); Buffer = NtfsGetUserBuffer(Irp, Irp->Flags & IRP_PAGING_IO);
Status = NtfsReadFile(DeviceExt, Status = NtfsReadFile(DeviceExt,
FileObject, FileObject,