summary refs log tree commit diff
path: root/arch/arm
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 /arch/arm
parent103461a80c2f2dd95fe9a39a5decd984622c2a9e (diff)
downloadlinux-86a8a83963a3f6beeca4900d26da93c7d2a9d92d.tar.gz
[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);
 	}