diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2009-12-24 05:16:21 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2009-12-24 05:16:21 -0500 |
commit | 6dc995a3da9adfa83d61ccf06aa1afa5f6ab764f (patch) | |
tree | 02ebf4534f9eaa964b8a840ca0d70323e6bb460a /arch/arm/mm | |
parent | 52e8bfd81af5492a14cc3a4641d4c80d05b66bdb (diff) |
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>
Diffstat (limited to 'arch/arm/mm')
-rw-r--r-- | arch/arm/mm/mmu.c | 3 |
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) | |||
453 | 453 | ||
454 | pgprot_user = __pgprot(L_PTE_PRESENT | L_PTE_YOUNG | user_pgprot); | 454 | pgprot_user = __pgprot(L_PTE_PRESENT | L_PTE_YOUNG | user_pgprot); |
455 | pgprot_kernel = __pgprot(L_PTE_PRESENT | L_PTE_YOUNG | | 455 | pgprot_kernel = __pgprot(L_PTE_PRESENT | L_PTE_YOUNG | |
456 | L_PTE_DIRTY | L_PTE_WRITE | | 456 | L_PTE_DIRTY | L_PTE_WRITE | kern_pgprot); |
457 | L_PTE_EXEC | kern_pgprot); | ||
458 | 457 | ||
459 | mem_types[MT_LOW_VECTORS].prot_l1 |= ecc_mask; | 458 | mem_types[MT_LOW_VECTORS].prot_l1 |= ecc_mask; |
460 | mem_types[MT_HIGH_VECTORS].prot_l1 |= ecc_mask; | 459 | mem_types[MT_HIGH_VECTORS].prot_l1 |= ecc_mask; |