mirror of
https://github.com/reactos/reactos.git
synced 2025-04-28 01:11:35 +00:00
Page overlapping MDLs have been fixed
svn path=/trunk/; revision=47
This commit is contained in:
parent
9a55f0f7ed
commit
cb0fe70650
1 changed files with 4 additions and 4 deletions
|
@ -108,6 +108,7 @@ VOID MmProbeAndLockPages(PMDL Mdl, KPROCESSOR_MODE AccessMode,
|
||||||
ULONG* mdl_pages=NULL;
|
ULONG* mdl_pages=NULL;
|
||||||
int i;
|
int i;
|
||||||
MEMORY_AREA* marea;
|
MEMORY_AREA* marea;
|
||||||
|
PVOID Address;
|
||||||
|
|
||||||
DPRINT("MmProbeAndLockPages(Mdl %x)\n",Mdl);
|
DPRINT("MmProbeAndLockPages(Mdl %x)\n",Mdl);
|
||||||
DPRINT("StartVa %x\n",Mdl->StartVa);
|
DPRINT("StartVa %x\n",Mdl->StartVa);
|
||||||
|
@ -166,12 +167,11 @@ VOID MmProbeAndLockPages(PMDL Mdl, KPROCESSOR_MODE AccessMode,
|
||||||
*/
|
*/
|
||||||
mdl_pages = (ULONG *)(Mdl + 1);
|
mdl_pages = (ULONG *)(Mdl + 1);
|
||||||
|
|
||||||
for (i=0;i<(PAGE_ROUND_UP(Mdl->ByteCount)/PAGESIZE);i++)
|
for (i=0;i<(PAGE_ROUND_UP(Mdl->ByteOffset+Mdl->ByteCount)/PAGESIZE);i++)
|
||||||
{
|
{
|
||||||
mdl_pages[i]=MmGetPhysicalAddress((PVOID)(PAGE_ROUND_DOWN(Mdl->StartVa)
|
Address = Mdl->StartVa + (i*PAGESIZE);
|
||||||
+(i*PAGESIZE))).LowPart;
|
mdl_pages[i]=MmGetPhysicalAddress(Address).LowPart;
|
||||||
DPRINT("mdl_pages[i] %x\n",mdl_pages[i]);
|
DPRINT("mdl_pages[i] %x\n",mdl_pages[i]);
|
||||||
DPRINT("&mdl_pages[i] %x\n",&mdl_pages[i]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue