summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2009-12-24 10:16:21 +0000
committerRussell King <rmk+kernel@arm.linux.org.uk>2009-12-24 10:16:21 +0000
commit6dc995a3da9adfa83d61ccf06aa1afa5f6ab764f (patch)
tree02ebf4534f9eaa964b8a840ca0d70323e6bb460a
parent52e8bfd81af5492a14cc3a4641d4c80d05b66bdb (diff)
downloadlinux-stable-6dc995a3da9adfa83d61ccf06aa1afa5f6ab764f.tar.gz
linux-stable-6dc995a3da9adfa83d61ccf06aa1afa5f6ab764f.tar.bz2
linux-stable-6dc995a3da9adfa83d61ccf06aa1afa5f6ab764f.zip
ARM: fix PAGE_KERNEL
PAGE_KERNEL should not be executable; any area marked executable can be prefetched into the instruction cache. We don't want vmalloc areas to be read in this way. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r--arch/arm/mm/mmu.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
index 8c7fbd19a4b3..1708da82da96 100644
--- a/arch/arm/mm/mmu.c
+++ b/arch/arm/mm/mmu.c
@@ -453,8 +453,7 @@ static void __init build_mem_type_table(void)
pgprot_user = __pgprot(L_PTE_PRESENT | L_PTE_YOUNG | user_pgprot);
pgprot_kernel = __pgprot(L_PTE_PRESENT | L_PTE_YOUNG |
- L_PTE_DIRTY | L_PTE_WRITE |
- L_PTE_EXEC | kern_pgprot);
+ L_PTE_DIRTY | L_PTE_WRITE | kern_pgprot);
mem_types[MT_LOW_VECTORS].prot_l1 |= ecc_mask;
mem_types[MT_HIGH_VECTORS].prot_l1 |= ecc_mask;