That is still not correct. MM_DECOMMIT (which should be aliased as MM_GUARDPAGE) is 0x10. BUT, this is only a guardpage, if 0x8, aka MM_NOCACHE is not set. it's like this: Protection & 0x18 == 0x00: normal 0x08: uncached 0x10: guard page 0x18: write combined
see http://www.reactos.org/wiki/Techwiki:Memory_Protection_constants
Am 16.06.2013 22:37, schrieb dreimer@svn.reactos.org:
Author: dreimer Date: Sun Jun 16 20:37:04 2013 New Revision: 59238
URL: http://svn.reactos.org/svn/reactos?rev=59238&view=rev Log: logical 'and' applied to non-boolean constant Reviewed by Thomas Faber and asked for commit, so blame him! CORE-7207 #resolve #comment Fixed!
Modified: trunk/reactos/ntoskrnl/mm/ARM3/vadnode.c
Modified: trunk/reactos/ntoskrnl/mm/ARM3/vadnode.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/ARM3/vadnode.c?... ============================================================================== --- trunk/reactos/ntoskrnl/mm/ARM3/vadnode.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/mm/ARM3/vadnode.c [iso-8859-1] Sun Jun 16 20:37:04 2013 @@ -647,7 +647,7 @@ (EndAddress >= ((PMMVAD_LONG)Vad)->u3.Secured.StartVpn)) { /* Guard page? */
if (ProtectionMask && MM_DECOMMIT)
if (ProtectionMask & MM_DECOMMIT) { DPRINT1("Not allowed to change protection on guard page!\n"); return STATUS_INVALID_PAGE_PROTECTION;