summaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2005-09-01 23:41:55 +0200
committerRussell King <rmk+kernel@arm.linux.org.uk>2005-09-01 23:41:55 +0200
commit86a8a83963a3f6beeca4900d26da93c7d2a9d92d (patch)
tree67c38d24dc4d2b3360c7d41588244f3a0d424cf5 /arch/arm
parent[ARM] Simplify setup_mm_for_reboot() (diff)
downloadlinux-86a8a83963a3f6beeca4900d26da93c7d2a9d92d.tar.xz
linux-86a8a83963a3f6beeca4900d26da93c7d2a9d92d.zip
[ARM] Fix ARMv6 page table bits
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>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mm/mm-armv.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/mm/mm-armv.c b/arch/arm/mm/mm-armv.c
index 3a81944d74ba..d125a3dc061c 100644
--- a/arch/arm/mm/mm-armv.c
+++ b/arch/arm/mm/mm-armv.c
@@ -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);
}