linux/arch/arm64/kernel
Colin Ian King e6d9a52543 arm64: do not enforce strict 16 byte alignment to stack pointer
copy_thread should not be enforcing 16 byte aligment and returning
-EINVAL. Other architectures trap misaligned stack access with SIGBUS
so arm64 should follow this convention, so remove the strict enforcement
check.

For example, currently clone(2) fails with -EINVAL when passing
a misaligned stack and this gives little clue to what is wrong. Instead,
it is arguable that a SIGBUS on the fist access to a misaligned stack
allows one to figure out that it is a misaligned stack issue rather
than trying to figure out why an unconventional (and undocumented)
-EINVAL is being returned.

Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2016-05-12 14:20:49 +01:00
..
vdso arm64: vdso: Mark vDSO code as read-only 2016-02-16 18:20:23 +00:00
.gitignore
acpi_parking_protocol.c arm64: kernel: acpi: fix ioremap in ACPI parking protocol cpu_postboot 2016-02-26 15:39:52 +00:00
acpi.c arm64: acpi: add acpi=on cmdline option to prefer ACPI boot over DT 2016-04-26 14:37:41 +01:00
alternative.c arm64: mm: fold alternatives into .init 2015-12-10 17:36:08 +00:00
arm64ksyms.c ARM: 8480/2: arm64: add implementation for arm-smccc 2016-01-04 16:24:45 +00:00
armv8_deprecated.c arm64: switch to relative exception tables 2016-02-24 14:57:26 +00:00
asm-offsets.c arm64: kernel: Add support for hibernate/suspend-to-disk 2016-04-28 13:36:22 +01:00
cacheinfo.c arm64: kernel: add support for cpu cache information 2015-01-15 11:55:07 +00:00
cpu_errata.c arm64: Verify CPU errata work arounds on hotplugged CPU 2016-04-25 15:14:03 +01:00
cpu_ops.c arm64: kernel: implement ACPI parking protocol 2016-02-16 15:12:32 +00:00
cpufeature.c arm64: Verify CPU errata work arounds on hotplugged CPU 2016-04-25 15:14:03 +01:00
cpuidle.c arm64: cpuidle: make arm_cpuidle_suspend() a bit more efficient 2016-04-13 14:49:23 +01:00
cpuinfo.c arm64: cpuinfo: Missing NULL terminator in compat_hwcap_str 2016-05-11 10:26:30 +01:00
debug-monitors.c arm64/debug: Remove superfluous SMP function call 2016-04-14 18:13:03 +01:00
efi-entry.S arm64: move early boot code to the .init segment 2016-04-14 18:11:30 +01:00
efi.c arm64/efi: refactor EFI init and runtime code for reuse by 32-bit ARM 2015-12-09 16:57:23 +00:00
entry32.S arm64: entry32: remove pointless register assignment 2015-07-10 16:47:13 +01:00
entry-fpsimd.S
entry-ftrace.S arm64: ftrace: fix function_graph tracer panic 2015-10-02 11:12:56 +01:00
entry.S arm64/kernel: fix incorrect EL0 check in inv_entry macro 2016-03-21 12:05:34 +00:00
fpsimd.c arm64: Fix misspellings in comments. 2016-03-04 18:19:17 +00:00
ftrace.c arm64: ftrace: modify a stack frame in a safe way 2015-12-21 17:26:01 +00:00
head.S arm64: Promote KERNEL_START/KERNEL_END definitions to a header file 2016-04-28 12:05:46 +01:00
hibernate-asm.S arm64: kernel: Add support for hibernate/suspend-to-disk 2016-04-28 13:36:22 +01:00
hibernate.c arm64: hibernate: Refuse to hibernate if the boot cpu is offline 2016-04-28 13:36:23 +01:00
hw_breakpoint.c arm64: hw-breakpoint: Remove superfluous SMP function call 2016-04-14 18:13:03 +01:00
hyp-stub.S arm64: hyp/kvm: Make hyp-stub reject kvm_call_hyp() 2016-04-28 12:05:46 +01:00
image.h arm64: don't map TEXT_OFFSET bytes below the kernel if we can avoid it 2016-04-26 12:23:25 +01:00
insn.c arm64: insn: avoid virt_to_page() translations on core kernel symbols 2016-04-14 16:31:49 +01:00
io.c arm64: optimize memcpy_{from,to}io() and memset_io() 2014-11-06 17:25:27 +00:00
irq.c arm64: remove irq_count and do_softirq_own_stack() 2015-12-21 17:26:01 +00:00
jump_label.c jump_label: Rename JUMP_LABEL_{EN,DIS}ABLE to JUMP_LABEL_{JMP,NOP} 2015-08-03 11:34:12 +02:00
kaslr.c arm64: relocatable: deal with physically misaligned kernel images 2016-04-26 12:23:28 +01:00
kgdb.c arm64: Fix misspellings in comments. 2016-03-04 18:19:17 +00:00
kuser32.S
Makefile arm64: kernel: Add support for hibernate/suspend-to-disk 2016-04-28 13:36:22 +01:00
module-plts.c arm64: add support for module PLTs 2016-02-24 14:57:24 +00:00
module.c arm64: add support for kernel ASLR 2016-02-24 14:57:27 +00:00
module.lds arm64: add support for module PLTs 2016-02-24 14:57:24 +00:00
paravirt.c arm64: introduce CONFIG_PARAVIRT, PARAVIRT_TIME_ACCOUNTING and pv_time_ops 2015-12-21 14:40:54 +00:00
pci.c arm64, numa: Add NUMA support for arm64 platforms. 2016-04-15 18:06:09 +01:00
perf_callchain.c arm64: ftrace: fix a stack tracer's output under function graph tracer 2015-12-21 17:26:02 +00:00
perf_event.c arm64: perf: Move PMU register related defines to asm/perf_event.h 2016-03-29 16:04:57 +01:00
perf_regs.c perf: Move task_pt_regs sampling into arch code 2015-01-09 11:12:28 +01:00
process.c arm64: do not enforce strict 16 byte alignment to stack pointer 2016-05-12 14:20:49 +01:00
psci.c ARM: 8511/1: ARM64: kernel: PSCI: move PSCI idle management code to drivers/firmware 2016-02-11 15:33:38 +00:00
ptrace.c arm64: Rework valid_user_regs 2016-03-02 15:49:28 +00:00
return_address.c arm64: ftrace: fix a stack tracer's output under function graph tracer 2015-12-21 17:26:02 +00:00
setup.c arm64: Change cpu_resume() to enable mmu early then access sleep_sp by va 2016-04-28 12:05:46 +01:00
signal32.c arm64: Fix misspellings in comments. 2016-03-04 18:19:17 +00:00
signal.c arm64: Rework valid_user_regs 2016-03-02 15:49:28 +00:00
sleep.S arm64: Change cpu_resume() to enable mmu early then access sleep_sp by va 2016-04-28 12:05:46 +01:00
smccc-call.S ARM: 8480/2: arm64: add implementation for arm-smccc 2016-01-04 16:24:45 +00:00
smp_spin_table.c ARM64: kernel: make cpu_ops hooks DT agnostic 2015-05-19 16:09:29 +01:00
smp.c arm64: secondary_start_kernel: Remove unnecessary barrier 2016-05-11 10:11:37 +01:00
stacktrace.c arm64: make irq_stack_ptr more robust 2016-02-12 15:53:51 +00:00
suspend.c arm64: Change cpu_resume() to enable mmu early then access sleep_sp by va 2016-04-28 12:05:46 +01:00
sys32.c arm64: fix implementation of mmap2 compat syscall 2015-03-19 10:43:51 +00:00
sys_compat.c arm64: compat: align cacheflush syscall with arch/arm 2014-12-01 13:31:12 +00:00
sys.c arm64: compat: Check for AArch32 state 2016-04-20 12:22:42 +01:00
time.c arm64: ftrace: fix a stack tracer's output under function graph tracer 2015-12-21 17:26:02 +00:00
topology.c arm64: kernel: remove non-legit DT warnings when booting using ACPI 2015-07-27 11:08:41 +01:00
trace-events-emulation.h arm64: Trace emulation of AArch32 legacy instructions 2014-11-20 16:35:02 +00:00
traps.c arm64: make irq_stack_ptr more robust 2016-02-12 15:53:51 +00:00
vdso.c arm64: vdso: avoid virt_to_page() translations on kernel symbols 2016-04-14 16:31:49 +01:00
vmlinux.lds.S arm64: kernel: Add support for hibernate/suspend-to-disk 2016-04-28 13:36:22 +01:00