arm64: Move some head.text functions to executable section
authorLaura Abbott <lauraa@codeaurora.org>
Fri, 21 Nov 2014 21:50:41 +0000 (13:50 -0800)
committerWill Deacon <will.deacon@arm.com>
Wed, 26 Nov 2014 17:19:47 +0000 (17:19 +0000)
commit034edabe6cf1d0dea49d4c836ba128cec90fad04
tree4b2bb811d4917b8e7cb285cea99bbd257f2fc03f
parent6ddae4186886a81e22ad78ad7c6936ed36bc8225
arm64: Move some head.text functions to executable section

The head.text section is intended to be run at early bootup
before any of the regular kernel mappings have been setup.
Parts of head.text may be freed back into the buddy allocator
due to TEXT_OFFSET so for security requirements this memory
must not be executable. The suspend/resume/hotplug code path
requires some of these head.S functions to run however which
means they need to be executable. Support these conflicting
requirements by moving the few head.text functions that need
to be executable to the text section which has the appropriate
page table permissions.

Tested-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Tested-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/kernel/head.S