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;