diff options
author | Heiko Carstens <hca@linux.ibm.com> | 2022-05-30 14:09:24 +0200 |
---|---|---|
committer | Heiko Carstens <hca@linux.ibm.com> | 2022-06-01 12:03:17 +0200 |
commit | f037acb41dc9fc0f00521685b3250226d6f9b437 (patch) | |
tree | 64a6dca535df5bef82081c0620eeb91e3cffcad7 /arch/s390 | |
parent | s390/uaccess: whitespace cleanup (diff) | |
download | linux-f037acb41dc9fc0f00521685b3250226d6f9b437.tar.xz linux-f037acb41dc9fc0f00521685b3250226d6f9b437.zip |
s390/stack: merge empty stack frame slots
Merge empty1 and empty2 arrays within the stack frame to one single
array. This is possible since with commit 42b01a553a56 ("s390: always
use the packed stack layout") the alternative stack frame layout is
gone.
Reviewed-by: Nico Boehr <nrb@linux.ibm.com>
Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Diffstat (limited to 'arch/s390')
-rw-r--r-- | arch/s390/include/asm/stacktrace.h | 3 | ||||
-rw-r--r-- | arch/s390/kernel/asm-offsets.c | 10 | ||||
-rw-r--r-- | arch/s390/kernel/perf_event.c | 2 |
3 files changed, 7 insertions, 8 deletions
diff --git a/arch/s390/include/asm/stacktrace.h b/arch/s390/include/asm/stacktrace.h index f8500191993d..7e0e15bee18d 100644 --- a/arch/s390/include/asm/stacktrace.h +++ b/arch/s390/include/asm/stacktrace.h @@ -39,8 +39,7 @@ static inline bool on_stack(struct stack_info *info, * Kernel uses the packed stack layout (-mpacked-stack). */ struct stack_frame { - unsigned long empty1[5]; - unsigned int empty2[8]; + unsigned long empty[9]; unsigned long gprs[10]; unsigned long back_chain; }; diff --git a/arch/s390/kernel/asm-offsets.c b/arch/s390/kernel/asm-offsets.c index 1e37cad44561..0e10d7ff4203 100644 --- a/arch/s390/kernel/asm-offsets.c +++ b/arch/s390/kernel/asm-offsets.c @@ -57,11 +57,11 @@ int main(void) /* stack_frame offsets */ OFFSET(__SF_BACKCHAIN, stack_frame, back_chain); OFFSET(__SF_GPRS, stack_frame, gprs); - OFFSET(__SF_EMPTY, stack_frame, empty1[0]); - OFFSET(__SF_SIE_CONTROL, stack_frame, empty1[1]); - OFFSET(__SF_SIE_SAVEAREA, stack_frame, empty1[2]); - OFFSET(__SF_SIE_REASON, stack_frame, empty1[3]); - OFFSET(__SF_SIE_FLAGS, stack_frame, empty1[4]); + OFFSET(__SF_EMPTY, stack_frame, empty[0]); + OFFSET(__SF_SIE_CONTROL, stack_frame, empty[1]); + OFFSET(__SF_SIE_SAVEAREA, stack_frame, empty[2]); + OFFSET(__SF_SIE_REASON, stack_frame, empty[3]); + OFFSET(__SF_SIE_FLAGS, stack_frame, empty[4]); DEFINE(STACK_FRAME_OVERHEAD, sizeof(struct stack_frame)); BLANK(); /* idle data offsets */ diff --git a/arch/s390/kernel/perf_event.c b/arch/s390/kernel/perf_event.c index a7f8db73984b..e259ff1f5ad3 100644 --- a/arch/s390/kernel/perf_event.c +++ b/arch/s390/kernel/perf_event.c @@ -30,7 +30,7 @@ static struct kvm_s390_sie_block *sie_block(struct pt_regs *regs) if (!stack) return NULL; - return (struct kvm_s390_sie_block *)stack->empty1[1]; + return (struct kvm_s390_sie_block *)stack->empty[1]; } static bool is_in_guest(struct pt_regs *regs) |