From: Vasily Gorbik Date: Thu, 6 Jun 2019 14:58:45 +0000 (+0200) Subject: s390/unwind: correct stack switching during unwind X-Git-Tag: v5.4-rc1~818^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0ab0d7ac2090eae30f1c0b01ae981bb7a368f598;p=platform%2Fkernel%2Flinux-rpi.git s390/unwind: correct stack switching during unwind Adjust conditions in on_stack function. That fixes backchain unwinder which was unable to read pt_regs at the very bottom of the stack and hence couldn't follow stacks (e.g. from async stack to a task stack). Fixes: 78c98f907413 ("s390/unwind: introduce stack unwind API") Reported-by: Julian Wiedmann Reviewed-by: Heiko Carstens Signed-off-by: Vasily Gorbik Signed-off-by: Heiko Carstens --- diff --git a/arch/s390/include/asm/stacktrace.h b/arch/s390/include/asm/stacktrace.h index 49634bf..0ae4bbf7 100644 --- a/arch/s390/include/asm/stacktrace.h +++ b/arch/s390/include/asm/stacktrace.h @@ -30,7 +30,7 @@ static inline bool on_stack(struct stack_info *info, return false; if (addr + len < addr) return false; - return addr >= info->begin && addr + len < info->end; + return addr >= info->begin && addr + len <= info->end; } static inline unsigned long get_stack_pointer(struct task_struct *task,