mirror of
https://github.com/reactos/reactos.git
synced 2025-02-22 16:36:33 +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;
|
||||
int i;
|
||||
MEMORY_AREA* marea;
|
||||
PVOID Address;
|
||||
|
||||
DPRINT("MmProbeAndLockPages(Mdl %x)\n",Mdl);
|
||||
DPRINT("StartVa %x\n",Mdl->StartVa);
|
||||
|
@ -166,12 +167,11 @@ VOID MmProbeAndLockPages(PMDL Mdl, KPROCESSOR_MODE AccessMode,
|
|||
*/
|
||||
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)
|
||||
+(i*PAGESIZE))).LowPart;
|
||||
Address = Mdl->StartVa + (i*PAGESIZE);
|
||||
mdl_pages[i]=MmGetPhysicalAddress(Address).LowPart;
|
||||
DPRINT("mdl_pages[i] %x\n",mdl_pages[i]);
|
||||
DPRINT("&mdl_pages[i] %x\n",&mdl_pages[i]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue