瀏覽代碼

Revert "arm64: fix infinite stacktrace"

This reverts commit 7e7df71fd57ff2894d96abb0080922bf39460a79.

When unwinding out of the IRQ stack and onto the interrupted EL1 stack,
we cannot rely on the frame pointer being strictly increasing, as this
could terminate the backtrace early depending on how the stacks have
been allocated.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Will Deacon 7 年之前
父節點
當前提交
e87a4a92fb
共有 1 個文件被更改,包括 0 次插入3 次删除
  1. 0 3
      arch/arm64/kernel/stacktrace.c

+ 0 - 3
arch/arm64/kernel/stacktrace.c

@@ -56,9 +56,6 @@ int notrace unwind_frame(struct task_struct *tsk, struct stackframe *frame)
 	frame->fp = READ_ONCE_NOCHECK(*(unsigned long *)(fp));
 	frame->pc = READ_ONCE_NOCHECK(*(unsigned long *)(fp + 8));
 
-	if (frame->fp <= fp)
-		return -EINVAL;
-
 #ifdef CONFIG_FUNCTION_GRAPH_TRACER
 	if (tsk->ret_stack &&
 			(frame->pc == (unsigned long)return_to_handler)) {