arm64: Fix R/O permissions in mark_rodata_ro
authorLaura Abbott <labbott@fedoraproject.org>
Thu, 12 Nov 2015 20:21:10 +0000 (12:21 -0800)
committerCatalin Marinas <catalin.marinas@arm.com>
Wed, 18 Nov 2015 12:11:36 +0000 (12:11 +0000)
commit0b2aa5b80bbf4d0fb5daa1fb83ff637daa12d552
treea248ea243cfab6aa039b2a0bac4d4f64c49bfa5f
parent08c6781cfaa196d4b257ec043c17e8746d9284e3
arm64: Fix R/O permissions in mark_rodata_ro

The permissions in mark_rodata_ro trigger a build error
with STRICT_MM_TYPECHECKS. Fix this by introducing
PAGE_KERNEL_ROX for the same reasons as PAGE_KERNEL_RO.
From Ard:

"PAGE_KERNEL_EXEC has PTE_WRITE set as well, making the range
writeable under the ARMv8.1 DBM feature, that manages the
dirty bit in hardware (writing to a page with the PTE_RDONLY
and PTE_WRITE bits both set will clear the PTE_RDONLY bit in that case)"

Signed-off-by: Laura Abbott <labbott@fedoraproject.org>
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/include/asm/pgtable.h
arch/arm64/mm/mmu.c