]> git.baikalelectronics.ru Git - kernel.git/commit
ARM: stacktrace: avoid listing stacktrace functions in stacktrace
authorRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 3 May 2014 10:03:28 +0000 (11:03 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 22 May 2014 15:33:19 +0000 (16:33 +0100)
commit0ceb38933d4510e10782b47e21819999b4df461c
tree8be709a8e9f72c0aff6fbc25222eac14146233a8
parent35c44817eb2b26ab8ed8623e6994db23ea162472
ARM: stacktrace: avoid listing stacktrace functions in stacktrace

While debugging the FEC ethernet driver using stacktrace, it was noticed
that the stacktraces always begin as follows:

 [<c00117b4>] save_stack_trace_tsk+0x0/0x98
 [<c0011870>] save_stack_trace+0x24/0x28
 ...

This is because the stack trace code includes the stack frames for itself.
This is incorrect behaviour, and also leads to "skip" doing the wrong
thing (which is the number of stack frames to avoid recording.)

Perversely, it does the right thing when passed a non-current thread.  Fix
this by ensuring that we have a known constant number of frames above the
main stack trace function, and always skip these.

Cc: <stable@vger.kernel.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kernel/stacktrace.c