linux/arch/arm64/kernel
Peter Collingbourne 33c222aeda arm64: stacktrace: Relax frame record alignment requirement to 8 bytes
The AAPCS places no requirements on the alignment of the frame
record. In theory it could be placed anywhere, although it seems
sensible to require it to be aligned to 8 bytes. With an upcoming
enhancement to tag-based KASAN Clang will begin creating frame records
located at an address that is only aligned to 8 bytes. Accommodate
such frame records in the stack unwinding code.

As pointed out by Mark Rutland, the userspace stack unwinding code
has the same problem, so fix it there as well.

Signed-off-by: Peter Collingbourne <pcc@google.com>
Link: https://linux-review.googlesource.com/id/Ia22c375230e67ca055e9e4bb639383567f7ad268
Acked-by: Andrey Konovalov <andreyknvl@gmail.com>
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Tested-by: Mark Rutland <mark.rutland@arm.com>
Link: https://lore.kernel.org/r/20210526174927.2477847-2-pcc@google.com
Signed-off-by: Will Deacon <will@kernel.org>
2021-05-26 20:01:17 +01:00
..
probes arm64 updates for 5.13: 2021-04-26 10:25:03 -07:00
vdso arm64/vdso: Discard .note.gnu.property sections in vDSO 2021-04-30 18:25:39 +01:00
vdso32 arm64: vdso32: drop -no-integrated-as flag 2021-04-23 14:17:50 +01:00
.gitignore
acpi.c arm64: permit ACPI core to map kernel memory used for table overrides 2020-09-30 22:27:51 +01:00
acpi_numa.c arm64, numa: Change the numa init functions name to be generic 2021-01-14 15:08:54 -08:00
acpi_parking_protocol.c arm64: use function_nocfi with __pa_symbol 2021-04-08 16:04:22 -07:00
alternative.c Assorted arm64 fixes and clean-ups, the most important: 2021-05-07 12:11:05 -07:00
armv8_deprecated.c arm64: uaccess: rename privileged uaccess routines 2020-12-02 19:49:10 +00:00
asm-offsets.c ARM: 2021-05-01 10:14:08 -07:00
cacheinfo.c
cpu-reset.h arm64: add __nocfi to functions that jump to a physical address 2021-04-08 16:04:22 -07:00
cpu-reset.S arm64: Use INIT_SCTLR_EL1_MMU_OFF to disable the MMU on CPU restart 2021-03-18 15:51:07 +00:00
cpu_errata.c arm64: kernel: disable CNP on Carmel 2021-03-25 10:00:23 +00:00
cpu_ops.c
cpufeature.c Assorted arm64 fixes and clean-ups, the most important: 2021-05-07 12:11:05 -07:00
cpuidle.c arm64: kernel: Update the stale comment 2021-05-06 12:26:26 +01:00
cpuinfo.c arm64: cpuinfo: Fix a typo 2021-03-22 12:45:13 +00:00
crash_core.c
crash_dump.c arm64: kdump: update ppos when reading elfcorehdr 2021-03-22 12:46:38 +00:00
debug-monitors.c arm64: expose FAR_EL1 tag bits in siginfo 2020-11-23 18:17:39 +00:00
efi-entry.S
efi-header.S arm64: head: tidy up the Image header definition 2020-11-17 16:14:20 +00:00
efi-rt-wrapper.S
efi.c treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
entry-common.c arm64: entry: always set GIC_PRIO_PSR_I_SET during entry 2021-05-05 18:13:58 +01:00
entry-fpsimd.S arm64/sve: Rework SVE access trap to convert state in registers 2021-04-08 17:43:43 +01:00
entry-ftrace.S arm64: rename S_FRAME_SIZE to PT_REGS_SIZE 2021-01-13 15:09:06 +00:00
entry.S arm64: Implement stack trace termination record 2021-05-25 18:53:29 +01:00
fpsimd.c Merge branches 'for-next/misc', 'for-next/kselftest', 'for-next/xntable', 'for-next/vdso', 'for-next/fiq', 'for-next/epan', 'for-next/kasan-vmalloc', 'for-next/fgt-boot-init', 'for-next/vhe-only' and 'for-next/neon-softirqs-disabled', remote-tracking branch 'arm64/for-next/perf' into for-next/core 2021-04-15 14:00:38 +01:00
ftrace.c arm64: ftrace: use function_nocfi for ftrace_call 2021-04-08 16:04:23 -07:00
head.S arm64: Implement stack trace termination record 2021-05-25 18:53:29 +01:00
hibernate-asm.S
hibernate.c arm64: hibernate: add __force attribute to gfp_t casting 2021-02-01 15:57:30 +00:00
hw_breakpoint.c
hyp-stub.S Merge remote-tracking branch 'arm64/for-next/vhe-only' into kvmarm-master/next 2021-04-13 15:42:40 +01:00
idreg-override.c arm64: Cope with CPUs stuck in VHE mode 2021-04-08 18:45:16 +01:00
image-vars.h Merge branch 'kvm-arm64/nvhe-panic-info' into kvmarm-master/next 2021-04-13 15:38:03 +01:00
image.h
insn.c arm64: kprobe: disable probe of fault prone ptrauth instruction 2020-09-14 12:07:02 +01:00
io.c
irq.c arm64: irq: allow FIQs to be handled 2021-03-24 20:19:30 +00:00
jump_label.c
kaslr.c arm64: kaslr: support randomized module area with KASAN_VMALLOC 2021-03-29 12:35:05 +01:00
kexec_image.c arm64: kexec_file: Fix sparse warning 2020-11-10 13:11:44 +00:00
kgdb.c
kuser32.S
machine_kexec.c arm64: kexec: call kexec_image_info only once 2021-01-27 15:41:12 +00:00
machine_kexec_file.c arm64: Use common of_kexec_alloc_and_setup_fdt() 2021-03-08 12:06:29 -07:00
Makefile arm64: entry: Enable random_kstack_offset support 2021-04-08 14:12:19 +02:00
module-plts.c arm64: improve whitespace 2021-02-04 13:59:49 +00:00
module.c arm64: kaslr: support randomized module area with KASAN_VMALLOC 2021-03-29 12:35:05 +01:00
mte.c arm64: Introduce prctl(PR_PAC_{SET,GET}_ENABLED_KEYS) 2021-04-13 17:31:44 +01:00
paravirt.c x86/paravirt: Switch time pvops functions to use static_call() 2021-03-11 16:17:52 +01:00
pci.c
perf_callchain.c arm64: stacktrace: Relax frame record alignment requirement to 8 bytes 2021-05-26 20:01:17 +01:00
perf_event.c arm64: perf: Remove redundant initialization in perf_event.c 2021-04-01 18:05:32 +01:00
perf_regs.c perf/arch: Remove perf_sample_data::regs_user_copy 2020-11-09 18:12:34 +01:00
pointer_auth.c arm64: pac: Optimize kernel entry/exit key installation code paths 2021-04-13 17:31:44 +01:00
process.c arm64: Implement stack trace termination record 2021-05-25 18:53:29 +01:00
proton-pack.c Merge remote-tracking branch 'arm64/for-next/fixes' into for-next/core 2020-12-09 18:04:55 +00:00
psci.c arm64: use function_nocfi with __pa_symbol 2021-04-08 16:04:22 -07:00
ptrace.c arm64: Change the on_*stack functions to take a size argument 2021-05-26 20:01:17 +01:00
reloc_test_core.c
reloc_test_syms.S
relocate_kernel.S arm64: kexec: arm64_relocate_new_kernel don't use x0 as temp 2021-01-27 15:41:12 +00:00
return_address.c arm64: stacktrace: Make stack walk callback consistent with generic code 2020-09-18 14:24:16 +01:00
sdei.c arm64: Change the on_*stack functions to take a size argument 2021-05-26 20:01:17 +01:00
setup.c arm64: Extract early FDT mapping from kaslr_early_init() 2021-02-09 13:47:50 +00:00
signal.c arm64: entry: remove redundant IRQ flag tracing 2021-01-13 12:51:30 +00:00
signal32.c
sigreturn32.S
sleep.S kasan: remove redundant config option 2021-04-16 16:10:36 -07:00
smccc-call.S
smp.c arm64: Always keep DAIF.[IF] in sync 2021-03-24 20:19:30 +00:00
smp_spin_table.c arm64: use function_nocfi with __pa_symbol 2021-04-08 16:04:22 -07:00
stacktrace.c arm64: stacktrace: Relax frame record alignment requirement to 8 bytes 2021-05-26 20:01:17 +01:00
suspend.c arm64: pac: Optimize kernel entry/exit key installation code paths 2021-04-13 17:31:44 +01:00
sys.c
sys32.c
sys_compat.c arm64: expose FAR_EL1 tag bits in siginfo 2020-11-23 18:17:39 +00:00
syscall.c arm64: entry: Enable random_kstack_offset support 2021-04-08 14:12:19 +02:00
time.c
topology.c arch_topology: Allow multiple entities to provide sched_freq_tick() callback 2021-03-10 10:55:37 +05:30
trace-events-emulation.h
traps.c arm64: improve whitespace 2021-02-04 13:59:49 +00:00
vdso-wrap.S arm64: do not descend to vdso directories twice 2021-01-20 12:18:46 +00:00
vdso.c Merge branches 'for-next/misc', 'for-next/kselftest', 'for-next/xntable', 'for-next/vdso', 'for-next/fiq', 'for-next/epan', 'for-next/kasan-vmalloc', 'for-next/fgt-boot-init', 'for-next/vhe-only' and 'for-next/neon-softirqs-disabled', remote-tracking branch 'arm64/for-next/perf' into for-next/core 2021-04-15 14:00:38 +01:00
vdso32-wrap.S arm64: do not descend to vdso directories twice 2021-01-20 12:18:46 +00:00
vmlinux.lds.S KVM: arm64: Page-align the .hyp sections 2021-03-19 12:02:18 +00:00