diff options
author | Josh Poimboeuf <jpoimboe@redhat.com> | 2016-11-28 17:06:35 -0600 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2016-11-29 14:19:50 +0100 |
commit | 53938ee427bf27525a63721b7e25d86b8f31f161 (patch) | |
tree | 75da0d415d07f2cc20637a7062f0f2497b1f8050 /scripts | |
parent | 9b032d21f6482ee305dcdec418c15153614b1dcc (diff) | |
download | linux-53938ee427bf27525a63721b7e25d86b8f31f161.tar.gz linux-53938ee427bf27525a63721b7e25d86b8f31f161.tar.bz2 linux-53938ee427bf27525a63721b7e25d86b8f31f161.zip |
scripts/decode_stacktrace.sh: Fix address line detection on x86
Kirill reported that the decode_stacktrace.sh script was broken by the
following commit:
bb5e5ce545f2 ("x86/dumpstack: Remove kernel text addresses from stack dump")
Fix it by updating the per-line absolute address check to also check for
function-based address lines like the following:
write_sysrq_trigger+0x51/0x60
I didn't remove the check for absolute addresses because it's still
needed for ARM.
Reported-by: Kirill A. Shutemov <kirill@shutemov.name>
Tested-by: Kirill A. Shutemov <kirill@shutemov.name>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Konstantin Khlebnikov <koct9i@gmail.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Sasha Levin <alexander.levin@verizon.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Fixes: bb5e5ce545f2 ("x86/dumpstack: Remove kernel text addresses from stack dump")
Link: http://lkml.kernel.org/r/20161128230635.4n2ofgawltgexgcg@treble
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/decode_stacktrace.sh | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/scripts/decode_stacktrace.sh b/scripts/decode_stacktrace.sh index c332684e1b5a..5206d99ddeb8 100755 --- a/scripts/decode_stacktrace.sh +++ b/scripts/decode_stacktrace.sh @@ -139,7 +139,8 @@ handle_line() { while read line; do # Let's see if we have an address in the line - if [[ $line =~ \[\<([^]]+)\>\] ]]; then + if [[ $line =~ \[\<([^]]+)\>\] ]] || + [[ $line =~ [^+\ ]+\+0x[0-9a-f]+/0x[0-9a-f]+ ]]; then # Translate address to line numbers handle_line "$line" # Is it a code line? |