aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390
diff options
context:
space:
mode:
authorHeiko Carstens <hca@linux.ibm.com>2022-05-30 14:09:24 +0200
committerHeiko Carstens <hca@linux.ibm.com>2022-06-01 12:03:17 +0200
commitf037acb41dc9fc0f00521685b3250226d6f9b437 (patch)
tree64a6dca535df5bef82081c0620eeb91e3cffcad7 /arch/s390
parents390/uaccess: whitespace cleanup (diff)
downloadlinux-dev-f037acb41dc9fc0f00521685b3250226d6f9b437.tar.xz
linux-dev-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.h3
-rw-r--r--arch/s390/kernel/asm-offsets.c10
-rw-r--r--arch/s390/kernel/perf_event.c2
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)