diff options
| author | Vasily Gorbik <[email protected]> | 2019-06-06 14:58:45 +0000 |
|---|---|---|
| committer | Heiko Carstens <[email protected]> | 2019-06-07 13:20:44 +0000 |
| commit | 0ab0d7ac2090eae30f1c0b01ae981bb7a368f598 (patch) | |
| tree | 570e93f72c416403b352d38128ce45dbca408d7c /arch/s390/include/asm/stacktrace.h | |
| parent | s390/mm: fix address space detection in exception handling (diff) | |
| download | kernel-0ab0d7ac2090eae30f1c0b01ae981bb7a368f598.tar.gz kernel-0ab0d7ac2090eae30f1c0b01ae981bb7a368f598.zip | |
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 <[email protected]>
Reviewed-by: Heiko Carstens <[email protected]>
Signed-off-by: Vasily Gorbik <[email protected]>
Signed-off-by: Heiko Carstens <[email protected]>
Diffstat (limited to 'arch/s390/include/asm/stacktrace.h')
| -rw-r--r-- | arch/s390/include/asm/stacktrace.h | 2 |
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, |
