[ARM] Fix ARMv6 page table bits
authorRussell King <rmk@dyn-67.arm.linux.org.uk>
Thu, 1 Sep 2005 21:41:55 +0000 (22:41 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 1 Sep 2005 21:41:55 +0000 (22:41 +0100)
We weren't explicitly setting the page table bits we desired
in user_prot in the protection table, which resulted in the
user mappings for v6 CPUs being marked global.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mm/mm-armv.c

index 3a81944d74ba7530429bce052061dab7f7180707..d125a3dc061c8fb5efb27ceed11ce731ddafe4a5 100644 (file)
@@ -453,7 +453,7 @@ static void __init build_mem_type_table(void)
 
        for (i = 0; i < 16; i++) {
                unsigned long v = pgprot_val(protection_map[i]);
-               v &= (~(PTE_BUFFERABLE|PTE_CACHEABLE)) | user_pgprot;
+               v = (v & ~(PTE_BUFFERABLE|PTE_CACHEABLE)) | user_pgprot;
                protection_map[i] = __pgprot(v);
        }