summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVasily Gorbik <gor@linux.ibm.com>2019-06-06 16:58:45 +0200
committerHeiko Carstens <heiko.carstens@de.ibm.com>2019-06-07 15:20:44 +0200
commit0ab0d7ac2090eae30f1c0b01ae981bb7a368f598 (patch)
tree570e93f72c416403b352d38128ce45dbca408d7c
parent962f0af83c239c0aef05639631e871c874b00f99 (diff)
downloadlinux-0ab0d7ac2090eae30f1c0b01ae981bb7a368f598.tar.bz2
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 <jwi@linux.ibm.com> Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
-rw-r--r--arch/s390/include/asm/stacktrace.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/s390/include/asm/stacktrace.h b/arch/s390/include/asm/stacktrace.h
index 49634bfbecdd..0ae4bbf7779c 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,