x86/dumpstack/ftrace: Don't print unreliable addresses in print_context_stack_bp()
authorJosh Poimboeuf <[email protected]>
Fri, 19 Aug 2016 11:53:02 +0000 (06:53 -0500)
committerIngo Molnar <[email protected]>
Wed, 24 Aug 2016 10:15:15 +0000 (12:15 +0200)
When function graph tracing is enabled, print_context_stack_bp() can
report return_to_handler() as an unreliable address, which is confusing
and misleading: return_to_handler() is really only useful as a hint for
debugging, whereas print_context_stack_bp() users only care about the
actual 'reliable' call path.

Signed-off-by: Josh Poimboeuf <[email protected]>
Acked-by: Steven Rostedt <[email protected]>
Cc: Andy Lutomirski <[email protected]>
Cc: Andy Lutomirski <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Brian Gerst <[email protected]>
Cc: Byungchul Park <[email protected]>
Cc: Denys Vlasenko <[email protected]>
Cc: Frederic Weisbecker <[email protected]>
Cc: H. Peter Anvin <[email protected]>
Cc: Kees Cook <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Nilay Vaish <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Link: http://lkml.kernel.org/r/c51aef578d8027791b38d2ad9bac0c7f499fde91.1471607358.git.jpoimboe@redhat.com
Signed-off-by: Ingo Molnar <[email protected]>
arch/x86/kernel/dumpstack.c

index 6aad8d4e2ea6513527b7e2937cb9c3c530923c0b..01072e9e165e36ff076990402bfbc7c5606aea33 100644 (file)
@@ -126,8 +126,6 @@ print_context_stack_bp(struct task_struct *task,
                        break;
 
                real_addr = ftrace_graph_ret_addr(task, graph, addr, retp);
-               if (real_addr != addr && ops->address(data, addr, 0))
-                       break;
                if (ops->address(data, real_addr, 1))
                        break;