diff options
| author | Matthew Leach <matthew.leach@arm.com> | 2013-10-11 14:52:14 +0100 |
|---|---|---|
| committer | Mister Oyster <oysterized@gmail.com> | 2017-12-14 16:48:48 +0100 |
| commit | 86474cd0a8a2a3dee6d34dfdb932ab09eb3a43d2 (patch) | |
| tree | bf83a11ee7e6959ae334763006a067c4b375b4b0 /arch/arm64/kernel/Makefile | |
| parent | 7ef835d45db04a5d9f2031480609d976030d1c24 (diff) | |
arm64: big-endian: don't treat code as data when copying sigret code
Currently the sigreturn compat code is copied to an offset in the
vectors table. When using a BE kernel this data will be stored in the
wrong endianess so when returning from a signal on a 32-bit BE system,
arbitrary code will be executed.
Instead of declaring the code inside a struct and copying that, use
the assembler's .byte directives to store the code in the correct
endianess regardless of platform endianess.
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Matthew Leach <matthew.leach@arm.com>
Signed-off-by: Mister Oyster <oysterized@gmail.com>
Diffstat (limited to 'arch/arm64/kernel/Makefile')
| -rw-r--r-- | arch/arm64/kernel/Makefile | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm64/kernel/Makefile b/arch/arm64/kernel/Makefile index 60d874a7e..61d0ea10b 100644 --- a/arch/arm64/kernel/Makefile +++ b/arch/arm64/kernel/Makefile @@ -15,7 +15,7 @@ arm64-obj-y := cputable.o debug-monitors.o entry.o irq.o fpsimd.o \ sys.o stacktrace.o time.o traps.o io.o vdso.o \ hyp-stub.o psci.o opcodes.o cpu_ops.o insn.o return_address.o -arm64-obj-$(CONFIG_COMPAT) += sys32.o kuser32.o signal32.o \ +arm64-obj-$(CONFIG_COMPAT) += sys32.o kuser32.o signal32.o \ sys_compat.o arm64-obj-$(CONFIG_FUNCTION_TRACER) += ftrace.o entry-ftrace.o arm64-obj-$(CONFIG_MODULES) += arm64ksyms.o module.o |
