summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2005-09-01 22:41:55 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2005-09-01 22:41:55 +0100
commit86a8a83963a3f6beeca4900d26da93c7d2a9d92d (patch)
tree67c38d24dc4d2b3360c7d41588244f3a0d424cf5
parent103461a80c2f2dd95fe9a39a5decd984622c2a9e (diff)
downloadlinux-3.10-86a8a83963a3f6beeca4900d26da93c7d2a9d92d.tar.gz
linux-3.10-86a8a83963a3f6beeca4900d26da93c7d2a9d92d.tar.bz2
linux-3.10-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>
-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 3a81944d74b..d125a3dc061 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);
}