sys: IRP_MJ_WRITE, IRP_MJ_READ: testing

This commit is contained in:
Bill Zissimopoulos 2016-03-07 18:34:24 -08:00
parent 9aca7e2e81
commit 1ad09f9b99
3 changed files with 3 additions and 2 deletions

View File

@ -455,7 +455,7 @@ FSP_API NTSTATUS FspFileSystemOpWrite(FSP_FILE_SYSTEM *FileSystem,
if (STATUS_PENDING != Result) if (STATUS_PENDING != Result)
{ {
Response->IoStatus.Information = BytesTransferred; Response->IoStatus.Information = BytesTransferred;
memcpy(&Response->Rsp.Read.FileInfo, &FileInfo, sizeof FileInfo); memcpy(&Response->Rsp.Write.FileInfo, &FileInfo, sizeof FileInfo);
} }
return Result; return Result;

View File

@ -197,7 +197,7 @@ static NTSTATUS FspFsvolReadNonCached(
if (0 == Irp->MdlAddress) if (0 == Irp->MdlAddress)
{ {
Result = FspLockUserBuffer(Irp->UserBuffer, ReadLength, Result = FspLockUserBuffer(Irp->UserBuffer, ReadLength,
Irp->RequestorMode, IoReadAccess, &Irp->MdlAddress); Irp->RequestorMode, IoWriteAccess, &Irp->MdlAddress);
if (!NT_SUCCESS(Result)) if (!NT_SUCCESS(Result))
return Result; return Result;
} }

View File

@ -522,6 +522,7 @@ NTSTATUS FspSafeMdlCreate(PMDL UserMdl, LOCK_OPERATION Operation, FSP_SAFE_MDL *
Result = STATUS_INSUFFICIENT_RESOURCES; Result = STATUS_INSUFFICIENT_RESOURCES;
goto exit; goto exit;
} }
SafeMdl->Mdl->MdlFlags |= MDL_PAGES_LOCKED;
UserPfnArray = MmGetMdlPfnArray(UserMdl); UserPfnArray = MmGetMdlPfnArray(UserMdl);
SafePfnArray = MmGetMdlPfnArray(SafeMdl->Mdl); SafePfnArray = MmGetMdlPfnArray(SafeMdl->Mdl);
RtlCopyMemory(SafePfnArray, UserPfnArray, PageCount * sizeof(PFN_NUMBER)); RtlCopyMemory(SafePfnArray, UserPfnArray, PageCount * sizeof(PFN_NUMBER));