arm64: mm: introduce present, faulting entries for PAGE_NONE
authorWill Deacon <will.deacon@arm.com>
Tue, 18 Dec 2012 14:15:15 +0000 (14:15 +0000)
committerCatalin Marinas <catalin.marinas@arm.com>
Thu, 10 Jan 2013 10:48:48 +0000 (10:48 +0000)
commita6fadf7e67d3794aae40244f435d281a62736c93
tree2f12828305659a7ae4ec51305f44f1d836aa474b
parent02522463c84748b3b8ad770f9424bcfa70a5b4c4
arm64: mm: introduce present, faulting entries for PAGE_NONE

This is mostly a port of dbf62d50067e ("ARM: mm: introduce L_PTE_VALID
for page table entries") and 26ffd0d43b18 ("ARM: mm: introduce present,
faulting entries for PAGE_NONE") from ARM, which makes use of present,
faulting page table entries for page table entries mapped as PROT_NONE.

The main difference with this implementation is that we can make use of
the two pte type bits in order to avoid allocating a software bit for
identifying PROT_NONE pages, instead reserving the 10b suffix for these
types of mappings.

This is required to prevent users from accessing such pages via syscalls
such as read/write over a pipe.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/include/asm/pgtable.h