ARM64: mm: Make PAGE_NONE pages read only and no-execute.
authorSteve Capper <steve.capper@linaro.org>
Thu, 2 May 2013 15:25:42 +0000 (16:25 +0100)
committerSteve Capper <steve.capper@linaro.org>
Fri, 14 Jun 2013 08:42:46 +0000 (09:42 +0100)
commit072b1b62a6436b71ab951faae4500db2fbed63de
tree7cf891feaa8224363173a3c9cb1fa8d0c472d101
parentf6bc87c39d52b2b7aa83f16fcee46daefd26cd4d
ARM64: mm: Make PAGE_NONE pages read only and no-execute.

If we consider the following code sequence:

my_pte = pte_modify(entry, myprot);
x = pte_write(my_pte);
y = pte_exec(my_pte);

If myprot comes from a PROT_NONE page, then x and y will both be
true which is undesireable behaviour.

This patch sets the no-execute and read-only bits for PAGE_NONE
such that the code above will return false for both x and y.

Signed-off-by: Steve Capper <steve.capper@linaro.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/include/asm/pgtable.h