linux/arch/s390
Vasily Gorbik 88b604263f s390/unwind: use current_frame_address() to unwind current task
current_stack_pointer() simply returns current value of %r15. If
current_stack_pointer() caller allocates stack (which is the case in
unwind code) %r15 points to a stack frame allocated for callees, meaning
current_stack_pointer() caller (e.g. stack_trace_save) will end up in
the stacktrace. This is not expected by stack_trace_save*() callers and
causes problems.

current_frame_address() on the other hand returns function stack frame
address, which matches %r15 upon function invocation. Using it in
get_stack_pointer() makes it more aligned with x86 implementation
(according to BACKTRACE_SELF_TEST output) and meets stack_trace_save*()
caller's expectations, notably KCSAN.

Also make sure unwind_start is always inlined.

Reported-by: Nathan Chancellor <nathan@kernel.org>
Suggested-by: Marco Elver <elver@google.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Tested-by: Marco Elver <elver@google.com>
Tested-by: Nathan Chancellor <nathan@kernel.org>
Link: https://lore.kernel.org/r/patch.git-04dd26be3043.your-ad-here.call-01630504868-ext-6188@work.hours
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2021-09-07 13:38:27 +02:00
..
appldata s390/appldata: use struct_size() helper 2020-06-29 16:32:34 +02:00
boot s390 updates for 5.15 merge window 2021-08-30 13:07:15 -07:00
configs s390/configs: enable CONFIG_KFENCE in debug_defconfig 2021-08-31 14:54:15 +02:00
crypto s390/archrandom: add parameter check for s390_arch_random_generate 2021-04-21 12:32:12 +02:00
hypfs s390: rename dma section to amode31 2021-08-05 14:10:53 +02:00
include s390/unwind: use current_frame_address() to unwind current task 2021-09-07 13:38:27 +02:00
kernel s390/entry: make oklabel within CHKSTG macro local 2021-08-31 14:54:15 +02:00
kvm KVM: s390: restore old debugfs names 2021-07-27 16:59:00 -04:00
lib s390/delay: get rid of not needed header includes 2021-07-27 09:39:22 +02:00
mm s390/mm,pageattr: fix walk_pte_level() early exit 2021-08-25 11:03:34 +02:00
net bpf: Introduce BPF nospec instruction for mitigating Spectre v4 2021-07-29 00:20:56 +02:00
pci s390 updates for 5.15 merge window 2021-08-30 13:07:15 -07:00
purgatory s390: enable KCSAN 2021-07-30 17:09:23 +02:00
tools s390/disassembler: add instructions 2021-07-27 09:39:19 +02:00
Kbuild s390/numa: move code to arch/s390/kernel 2020-08-11 18:16:55 +02:00
Kconfig s390: enable KCSAN 2021-07-30 17:09:23 +02:00
Kconfig.debug s390/cio: add CRW inject functionality 2021-03-22 11:36:04 +01:00
Makefile s390: move the install rule to arch/s390/Makefile 2021-07-30 17:09:36 +02:00