]> git.baikalelectronics.ru Git - kernel.git/commit
arm64: Implement arch-specific pte_access_permitted()
authorCatalin Marinas <catalin.marinas@arm.com>
Thu, 26 Oct 2017 17:36:47 +0000 (18:36 +0100)
committerWill Deacon <will.deacon@arm.com>
Mon, 30 Oct 2017 12:41:15 +0000 (12:41 +0000)
commit825ea02234a10cbe81fa5913469625718421ffa9
tree4134665de1e47326768e2e5a51e1c330334c386d
parente4a3da34ee327dce2f37c350f9ff0b1c4e24837d
arm64: Implement arch-specific pte_access_permitted()

The generic pte_access_permitted() implementation only checks for
pte_present() (together with the write permission where applicable).
However, for both kernel ptes and PROT_NONE mappings pte_present() also
returns true on arm64 even though such mappings are not user accessible.
Additionally, arm64 now supports execute-only user permission
(PROT_EXEC) which is implemented by clearing the PTE_USER bit.

With this patch the arm64 implementation of pte_access_permitted()
checks for the PTE_VALID and PTE_USER bits together with writable access
if applicable.

Cc: <stable@vger.kernel.org>
Reported-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/include/asm/pgtable.h