ARM: mm: introduce present, faulting entries for PAGE_NONE
authorWill Deacon <will.deacon@arm.com>
Sat, 1 Sep 2012 04:22:12 +0000 (05:22 +0100)
committerWill Deacon <will.deacon@arm.com>
Fri, 9 Nov 2012 14:13:20 +0000 (14:13 +0000)
commit26ffd0d43b186b0d5186354da8714a1c2d360df0
tree405c83d298530b65bb64630da52cfb368927691a
parentdbf62d50067e55a782583fe53c3d2a3d98b1f6f3
ARM: mm: introduce present, faulting entries for PAGE_NONE

PROT_NONE mappings apply the page protection attributes defined by _P000
which translate to PAGE_NONE for ARM. These attributes specify an XN,
RDONLY pte that is inaccessible to userspace. However, on kernels
configured without support for domains, such a pte *is* accessible to
the kernel and can be read via get_user, allowing tasks to read
PROT_NONE pages via syscalls such as read/write over a pipe.

This patch introduces a new software pte flag, L_PTE_NONE, that is set
to identify faulting, present entries.

Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm/include/asm/pgtable-2level.h
arch/arm/include/asm/pgtable-3level.h
arch/arm/include/asm/pgtable.h
arch/arm/mm/proc-macros.S
arch/arm/mm/proc-v7-2level.S
arch/arm/mm/proc-v7-3level.S