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(a)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;