]> 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)
commit5e38cd292fc76031ad5f28a6f2cad70ccd9ae790
tree8be709a8e9f72c0aff6fbc25222eac14146233a8
parent4f2cfba6d9d25ca17486d8ff314aa92529bb7dbd
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