Loading arch/sh/oprofile/backtrace.c +0 −27 Original line number Original line Diff line number Diff line Loading @@ -81,33 +81,6 @@ user_backtrace(unsigned long *stackaddr, struct pt_regs *regs) return stackaddr; return stackaddr; } } /* * | | /\ Higher addresses * | | * --------------- stack base (address of current_thread_info) * | thread info | * . . * | stack | * --------------- saved regs->regs[15] value if valid * . . * --------------- struct pt_regs stored on stack (struct pt_regs *) * | | * . . * | | * --------------- ??? * | | * | | \/ Lower addresses * * Thus, &pt_regs <-> stack base restricts the valid(ish) fp values */ static int valid_kernel_stack(unsigned long *stackaddr, struct pt_regs *regs) { unsigned long stack = (unsigned long)regs; unsigned long stack_base = (stack & ~(THREAD_SIZE - 1)) + THREAD_SIZE; return ((unsigned long)stackaddr > stack) && ((unsigned long)stackaddr < stack_base); } void sh_backtrace(struct pt_regs * const regs, unsigned int depth) void sh_backtrace(struct pt_regs * const regs, unsigned int depth) { { unsigned long *stackaddr; unsigned long *stackaddr; Loading Loading
arch/sh/oprofile/backtrace.c +0 −27 Original line number Original line Diff line number Diff line Loading @@ -81,33 +81,6 @@ user_backtrace(unsigned long *stackaddr, struct pt_regs *regs) return stackaddr; return stackaddr; } } /* * | | /\ Higher addresses * | | * --------------- stack base (address of current_thread_info) * | thread info | * . . * | stack | * --------------- saved regs->regs[15] value if valid * . . * --------------- struct pt_regs stored on stack (struct pt_regs *) * | | * . . * | | * --------------- ??? * | | * | | \/ Lower addresses * * Thus, &pt_regs <-> stack base restricts the valid(ish) fp values */ static int valid_kernel_stack(unsigned long *stackaddr, struct pt_regs *regs) { unsigned long stack = (unsigned long)regs; unsigned long stack_base = (stack & ~(THREAD_SIZE - 1)) + THREAD_SIZE; return ((unsigned long)stackaddr > stack) && ((unsigned long)stackaddr < stack_base); } void sh_backtrace(struct pt_regs * const regs, unsigned int depth) void sh_backtrace(struct pt_regs * const regs, unsigned int depth) { { unsigned long *stackaddr; unsigned long *stackaddr; Loading