summaryrefslogtreecommitdiff
path: root/arch/s390/include/asm/stacktrace.h
diff options
context:
space:
mode:
authorHeiko Carstens <hca@linux.ibm.com>2024-04-29 14:28:47 +0200
committerAlexander Gordeev <agordeev@linux.ibm.com>2024-05-14 13:37:07 +0200
commitbe72ea09c1a5273abf8c6c52ef53e36c701cbf6a (patch)
tree91b96d1e0662af8fdff21cffeaf8d8ab11d6291e /arch/s390/include/asm/stacktrace.h
parentcd58109283944ea8bdcd0a8211a86cbd2450716a (diff)
downloadlinux-be72ea09c1a5273abf8c6c52ef53e36c701cbf6a.tar.gz
linux-be72ea09c1a5273abf8c6c52ef53e36c701cbf6a.tar.bz2
linux-be72ea09c1a5273abf8c6c52ef53e36c701cbf6a.zip
s390/vdso: Introduce and use struct stack_frame_vdso_wrapper
Introduce and use struct stack_frame_vdso_wrapper within vdso user wrapper code. With this structure it is possible to automatically generate an asm-offset define which can be used to save and restore the return address of the calling function. Also use STACK_FRAME_USER_OVERHEAD instead of STACK_FRAME_OVERHEAD to document that the code works with user space stack frames with the standard stack frame layout. Fixes: aa44433ac4ee ("s390: add USER_STACKTRACE support") Reviewed-by: Jens Remus <jremus@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
Diffstat (limited to 'arch/s390/include/asm/stacktrace.h')
-rw-r--r--arch/s390/include/asm/stacktrace.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/s390/include/asm/stacktrace.h b/arch/s390/include/asm/stacktrace.h
index 4aefbe32265d..85b6738b826a 100644
--- a/arch/s390/include/asm/stacktrace.h
+++ b/arch/s390/include/asm/stacktrace.h
@@ -13,6 +13,11 @@ struct stack_frame_user {
unsigned long empty2[4];
};
+struct stack_frame_vdso_wrapper {
+ struct stack_frame_user sf;
+ unsigned long return_address;
+};
+
struct perf_callchain_entry_ctx;
void arch_stack_walk_user_common(stack_trace_consume_fn consume_entry, void *cookie,