From: short <> Date: Thu, 27 Mar 2003 11:33:07 +0000 (+0000) Subject: MmUnmapLockedPages(): +Support for MmBuildMdlForNonPagedPool() MDLs X-Git-Tag: captive-0_2~73 X-Git-Url: http://git.jankratochvil.net/?a=commitdiff_plain;h=c95af78b1dfc65c9dccf42fd86ecbaeb38749d08;p=captive.git MmUnmapLockedPages(): +Support for MmBuildMdlForNonPagedPool() MDLs --- diff --git a/src/libcaptive/mm/mdl.c b/src/libcaptive/mm/mdl.c index 96bad98..5e9f1f4 100644 --- a/src/libcaptive/mm/mdl.c +++ b/src/libcaptive/mm/mdl.c @@ -105,11 +105,17 @@ VOID MmUnmapLockedPages(PVOID BaseAddress,PMDL Mdl) { g_return_if_fail(BaseAddress!=NULL); g_return_if_fail(Mdl!=NULL); - g_return_if_fail(Mdl->MdlFlags&MDL_MAPPED_TO_SYSTEM_VA); g_return_if_fail(BaseAddress==Mdl->MappedSystemVa); + /* No mapping is done for pages from MmBuildMdlForNonPagedPool(). */ + if (Mdl->MdlFlags&MDL_SOURCE_IS_NONPAGED_POOL) { + g_return_if_fail(!(Mdl->MdlFlags&MDL_MAPPED_TO_SYSTEM_VA)); + } + else { + g_return_if_fail(Mdl->MdlFlags&MDL_MAPPED_TO_SYSTEM_VA); + Mdl->MdlFlags&=~MDL_MAPPED_TO_SYSTEM_VA; + } Mdl->MappedSystemVa=NULL; - Mdl->MdlFlags&=~MDL_MAPPED_TO_SYSTEM_VA; } /**