Skip to content

Commit 3c02600

Browse files
brooniewilldeacon
authored andcommitted
arm64: stacktrace: Report when we reach the end of the stack
Currently the arm64 unwinder code returns -EINVAL whenever it can't find the next stack frame, not distinguishing between cases where the stack has been corrupted or is otherwise in a state it shouldn't be and cases where we have reached the end of the stack. At the minute none of the callers care what error code is returned but this will be important for reliable stack trace which needs to be sure that the stack is intact. Change to return -ENOENT in the case where we reach the bottom of the stack. The error codes from this function are only used in kernel, this particular code is chosen as we are indicating that we know there is no frame there. Signed-off-by: Mark Brown <broonie@kernel.org> Acked-by: Mark Rutland <mark.rutland@arm.com> Link: https://lore.kernel.org/r/20210224165037.24138-1-broonie@kernel.org Signed-off-by: Will Deacon <will@kernel.org>
1 parent df84fe9 commit 3c02600

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

arch/arm64/kernel/stacktrace.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ int notrace unwind_frame(struct task_struct *tsk, struct stackframe *frame)
4646

4747
/* Terminal record; nothing to unwind */
4848
if (!fp)
49-
return -EINVAL;
49+
return -ENOENT;
5050

5151
if (fp & 0xf)
5252
return -EINVAL;

0 commit comments

Comments
 (0)