summaryrefslogtreecommitdiffstats
path: root/arch/s390/include
diff options
context:
space:
mode:
authorHeiko Carstens <hca@linux.ibm.com>2022-05-30 14:20:50 +0200
committerHeiko Carstens <hca@linux.ibm.com>2022-06-01 12:03:17 +0200
commite0ffcf3fe18e0310221461c08969edec2cc7628c (patch)
tree12cd882c098517e8906f997fbfd1806504422ddc /arch/s390/include
parentf037acb41dc9fc0f00521685b3250226d6f9b437 (diff)
downloadlinux-e0ffcf3fe18e0310221461c08969edec2cc7628c.tar.gz
linux-e0ffcf3fe18e0310221461c08969edec2cc7628c.tar.bz2
linux-e0ffcf3fe18e0310221461c08969edec2cc7628c.zip
s390/stack: add union to reflect kvm stack slot usages
Add a union which describes how the empty stack slots are being used by kvm and perf. This should help to avoid another bug like the one which was fixed with commit c9bfb460c3e4 ("s390/perf: obtain sie_block from the right address"). Reviewed-by: Nico Boehr <nrb@linux.ibm.com> Tested-by: Nico Boehr <nrb@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Diffstat (limited to 'arch/s390/include')
-rw-r--r--arch/s390/include/asm/stacktrace.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/arch/s390/include/asm/stacktrace.h b/arch/s390/include/asm/stacktrace.h
index 7e0e15bee18d..b23c658dce77 100644
--- a/arch/s390/include/asm/stacktrace.h
+++ b/arch/s390/include/asm/stacktrace.h
@@ -39,7 +39,15 @@ static inline bool on_stack(struct stack_info *info,
* Kernel uses the packed stack layout (-mpacked-stack).
*/
struct stack_frame {
- unsigned long empty[9];
+ union {
+ unsigned long empty[9];
+ struct {
+ unsigned long sie_control_block;
+ unsigned long sie_savearea;
+ unsigned long sie_reason;
+ unsigned long sie_flags;
+ };
+ };
unsigned long gprs[10];
unsigned long back_chain;
};