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)
committerMark Brown <broonie@linaro.org>
Fri, 9 May 2014 11:02:47 +0000 (12:02 +0100)
commit5ea0c51491e4fef3dceef3fe0d3bac9318752c13
treed909452511dfefaa96f2564ead78127c71cf882e
parentf45009d07121dfa40d0b9c74c8364669dbe8c4af
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