linux/arch/arm64/kernel
Laura Abbott 034edabe6c 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>
2014-11-26 17:19:47 +00:00
..
vdso arm64: vdso: fix build error when switching from LE to BE 2014-07-30 15:06:35 +01:00
.gitignore arm64: Build infrastructure 2012-09-17 13:42:21 +01:00
alternative.c arm64: add alternative runtime patching 2014-11-25 13:46:36 +00:00
arm64ksyms.c arm64: Add ftrace support 2014-05-29 09:08:08 +01:00
armv8_deprecated.c arm64: fix return code check when changing emulation handler 2014-11-25 10:05:35 +00:00
asm-offsets.c arm64: KVM: implement lazy world switch for debug registers 2014-07-11 04:57:46 -07:00
cpu_errata.c arm64: alternatives: fix pr_fmt string for consistency 2014-11-25 18:27:01 +00:00
cpu_ops.c arm64: kernel: enable PSCI cpu operations on UP systems 2014-07-18 15:23:25 +01:00
cpuidle.c arm64: kernel: introduce cpu_init_idle CPU operation 2014-09-12 10:48:55 +01:00
cpuinfo.c arm64: sanity checks: add ID_AA64DFR{0,1}_EL1 2014-11-25 15:56:44 +00:00
cputable.c arm64: add CPU_HOTPLUG infrastructure 2013-10-25 11:33:21 +01:00
debug-monitors.c KVM/ARM New features for 3.17 include: 2014-08-05 09:47:45 +02:00
efi-entry.S arm64/efi: efistub: jump to 'stext' directly, not through the header 2014-11-05 09:02:59 +01:00
efi-stub.c arm64/efi: efistub: don't abort if base of DRAM is occupied 2014-09-08 14:39:18 +01:00
efi.c arm64: dmi: set DMI string as dump stack arch description 2014-11-05 09:03:32 +01:00
entry-fpsimd.S arm64: fpsimd: fix a typo in fpsimd_save_partial_state ENDPROC 2014-07-31 11:42:42 +01:00
entry-ftrace.S arm64: ftrace: eliminate literal pool entries 2014-11-07 15:04:49 +00:00
entry.S arm64: Treat handle_arch_irq as a function pointer 2014-11-25 15:56:44 +00:00
fpsimd.c arm64: fix bug for reloading FPSIMD state after cpu power off 2014-09-01 12:55:21 +01:00
ftrace.c arm64: Correct ftrace calls to aarch64_insn_gen_branch_imm() 2014-09-19 12:05:45 +01:00
head.S arm64: Move some head.text functions to executable section 2014-11-26 17:19:47 +00:00
hw_breakpoint.c arm64: is_compat_task is defined both in asm/compat.h and linux/compat.h 2014-05-12 16:43:29 +01:00
hyp-stub.S irqchip: gic-v3: Initial support for GICv3 2014-07-08 22:11:47 +00:00
image.h arm64: Update the Image header 2014-07-10 12:36:40 +01:00
insn.c arm64: Emulate CP15 Barrier instructions 2014-11-20 16:34:48 +00:00
io.c arm64: optimize memcpy_{from,to}io() and memset_io() 2014-11-06 17:25:27 +00:00
irq.c arm64: Treat handle_arch_irq as a function pointer 2014-11-25 15:56:44 +00:00
jump_label.c arm64: jump labels: NOP out NOP -> NOP replacement 2014-11-26 17:19:47 +00:00
kgdb.c arm64: Fix typos in KGDB macros 2014-09-25 15:35:41 +01:00
kuser32.S arm64: Add __NR_* definitions for compat syscalls 2014-07-10 11:02:40 +01:00
Makefile arm64: detect silicon revisions and set cap bits accordingly 2014-11-25 13:46:37 +00:00
module.c arm64: move encode_insn_immediate() from module.c to insn.c 2014-01-08 15:21:29 +00:00
pci.c arm64: Add architectural support for PCI 2014-09-30 17:08:57 -06:00
perf_event.c ARM64: make of_device_ids const 2014-10-03 14:49:28 +01:00
perf_regs.c arm64: perf: don't rely on layout of pt_regs when grabbing sp or pc 2014-08-28 20:01:50 +01:00
process.c arm64: ASLR: Don't randomise text when randomise_va_space == 0 2014-10-24 15:47:49 +01:00
psci.c arm64: add PSCI CPU_SUSPEND based cpu_suspend support 2014-09-12 10:48:56 +01:00
ptrace.c Merge git://git.infradead.org/users/eparis/audit 2014-10-19 16:25:56 -07:00
return_address.c arm64: LLVMLinux: Use global stack pointer in return_address() 2014-09-08 14:39:19 +01:00
setup.c arm64: Factor out fixmap initialization from ioremap 2014-11-25 15:56:45 +00:00
signal32.c Merge branch 'signal-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/misc 2014-08-09 09:58:12 -07:00
signal.c arm64: Use sigsp() 2014-08-06 13:03:45 +02:00
sleep.S arm64: Move cpu_resume into the text section 2014-11-25 15:56:44 +00:00
smp_spin_table.c arm64: spin-table: handle unmapped cpu-release-addrs 2014-09-08 14:39:18 +01:00
smp.c arm64: add alternative runtime patching 2014-11-25 13:46:36 +00:00
stacktrace.c arm64: LLVMLinux: Use current_stack_pointer in save_stack_trace_tsk 2014-09-08 14:39:19 +01:00
suspend.c arm64: Move cpu_resume into the text section 2014-11-25 15:56:44 +00:00
sys32.S arm64: compat: correct register concatenation for syscall wrappers 2013-10-25 15:59:36 +01:00
sys_compat.c arm64: flush TLS registers during exec 2014-09-11 18:34:58 +01:00
sys.c arm64: switch to generic sigaltstack 2013-02-14 09:17:29 -05:00
time.c arm64: kernel: initialize broadcast hrtimer based clock event device 2014-05-30 17:48:13 +01:00
topology.c arm64: topology: Fix handling of multi-level cluster MPIDR-based detection 2014-11-25 15:56:43 +00:00
trace-events-emulation.h arm64: Trace emulation of AArch32 legacy instructions 2014-11-20 16:35:02 +00:00
traps.c arm64: Add support for hooks to handle undefined instructions 2014-11-20 16:33:43 +00:00
vdso.c arm64,ia64,ppc,s390,sh,tile,um,x86,mm: remove default gate area 2014-08-08 15:57:27 -07:00
vmlinux.lds.S arm64: vmlinux.lds.S: don't discard .exit.* sections at link-time 2014-11-25 15:56:45 +00:00