The 128-byte area below the stack pointer is a red zone, not a stack
frame overhead. Rename it to KERNEL_REDZONE_SIZE to match the powerpc
convention and better reflect its actual purpose.

Tests:
- Verified no remaining references to STACK_FRAME_OVERHEAD in
  arch/openrisc/ using grep
- Built arch/openrisc/ successfully with or1k-elf cross-compiler:
  make ARCH=openrisc CROSS_COMPILE=or1k-elf- arch/openrisc/

Resolves the TODO comment in ptrace.h.

Signed-off-by: 4rynv <[email protected]>
---
 arch/openrisc/include/asm/processor.h | 4 +++-
 arch/openrisc/include/asm/ptrace.h    | 3 +--
 arch/openrisc/kernel/asm-offsets.c    | 4 ++--
 arch/openrisc/kernel/process.c        | 4 ++--
 arch/openrisc/kernel/signal.c         | 2 +-
 arch/openrisc/kernel/stacktrace.c     | 2 +-
 6 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/arch/openrisc/include/asm/processor.h 
b/arch/openrisc/include/asm/processor.h
index 3ff893a67c13..f4ababd1de24 100644
--- a/arch/openrisc/include/asm/processor.h
+++ b/arch/openrisc/include/asm/processor.h
@@ -55,7 +55,9 @@ struct thread_struct {
  * user->kernel transition registers are reached by this (i.e. not regs
  * for running signal handler)
  */
-#define user_regs(thread_info)  (((struct pt_regs *)((unsigned 
long)(thread_info) + THREAD_SIZE - STACK_FRAME_OVERHEAD)) - 1)
+#define user_regs(thread_info) \
+       (((struct pt_regs *)((unsigned long)(thread_info) + \
+       THREAD_SIZE - KERNEL_REDZONE_SIZE)) - 1)
 
 /*
  * Dito but for the currently running task
diff --git a/arch/openrisc/include/asm/ptrace.h 
b/arch/openrisc/include/asm/ptrace.h
index 28facf2f3e00..940f0b045b2a 100644
--- a/arch/openrisc/include/asm/ptrace.h
+++ b/arch/openrisc/include/asm/ptrace.h
@@ -94,8 +94,7 @@ struct pt_regs {
        long dummy2;            /* Cheap alignment fix */
 };
 
-/* TODO: Rename this to REDZONE because that's what it is */
-#define STACK_FRAME_OVERHEAD  128  /* size of minimum stack frame */
+#define KERNEL_REDZONE_SIZE  128  /* size of minimum stack frame */
 
 #define MAX_REG_OFFSET offsetof(struct pt_regs, orig_gpr11)
 
diff --git a/arch/openrisc/kernel/asm-offsets.c 
b/arch/openrisc/kernel/asm-offsets.c
index 3cc826f2216b..07bfa12ca4af 100644
--- a/arch/openrisc/kernel/asm-offsets.c
+++ b/arch/openrisc/kernel/asm-offsets.c
@@ -53,8 +53,8 @@ int main(void)
        DEFINE(PT_SIZE, sizeof(struct pt_regs));
 
        /* Interrupt register frame */
-       DEFINE(STACK_FRAME_OVERHEAD, STACK_FRAME_OVERHEAD);
-       DEFINE(INT_FRAME_SIZE, STACK_FRAME_OVERHEAD + sizeof(struct pt_regs));
+       DEFINE(KERNEL_REDZONE_SIZE, KERNEL_REDZONE_SIZE);
+       DEFINE(INT_FRAME_SIZE, KERNEL_REDZONE_SIZE + sizeof(struct pt_regs));
 
        DEFINE(NUM_USER_SEGMENTS, TASK_SIZE >> 28);
        return 0;
diff --git a/arch/openrisc/kernel/process.c b/arch/openrisc/kernel/process.c
index 73ffb9fa3118..bbe2b36d698d 100644
--- a/arch/openrisc/kernel/process.c
+++ b/arch/openrisc/kernel/process.c
@@ -176,12 +176,12 @@ copy_thread(struct task_struct *p, const struct 
kernel_clone_args *args)
        top_of_kernel_stack = sp;
 
        /* Locate userspace context on stack... */
-       sp -= STACK_FRAME_OVERHEAD;     /* redzone */
+       sp -= KERNEL_REDZONE_SIZE;      /* redzone */
        sp -= sizeof(struct pt_regs);
        userregs = (struct pt_regs *) sp;
 
        /* ...and kernel context */
-       sp -= STACK_FRAME_OVERHEAD;     /* redzone */
+       sp -= KERNEL_REDZONE_SIZE;      /* redzone */
        sp -= sizeof(struct pt_regs);
        kregs = (struct pt_regs *)sp;
 
diff --git a/arch/openrisc/kernel/signal.c b/arch/openrisc/kernel/signal.c
index f70a13ee0593..63121750fe5e 100644
--- a/arch/openrisc/kernel/signal.c
+++ b/arch/openrisc/kernel/signal.c
@@ -171,7 +171,7 @@ static inline void __user *get_sigframe(struct ksignal 
*ksig,
        unsigned long sp = regs->sp;
 
        /* redzone */
-       sp -= STACK_FRAME_OVERHEAD;
+       sp -= KERNEL_REDZONE_SIZE;
        sp = sigsp(sp, ksig);
        sp = align_sigframe(sp - frame_size);
 
diff --git a/arch/openrisc/kernel/stacktrace.c 
b/arch/openrisc/kernel/stacktrace.c
index 54d38809e22c..0c4ca1eac2c2 100644
--- a/arch/openrisc/kernel/stacktrace.c
+++ b/arch/openrisc/kernel/stacktrace.c
@@ -79,7 +79,7 @@ void save_stack_trace_tsk(struct task_struct *tsk, struct 
stack_trace *trace)
 
                /* Locate stack from kernel context */
                ksp = task_thread_info(tsk)->ksp;
-               ksp += STACK_FRAME_OVERHEAD;    /* redzone */
+               ksp += KERNEL_REDZONE_SIZE;     /* redzone */
                ksp += sizeof(struct pt_regs);
 
                sp = (unsigned long *) ksp;
-- 
2.34.1


Reply via email to