With lines having a code to decode, the alignment was not preserved for
the first line.
With this sample ...
[ 52.238089][ T55] RIP: 0010:__ip_queue_xmit+0x127c/0x1820
[ 52.238401][ T55] Code: c1 83 e0 07 48 c1 e9 03 83 c0 03 (...)
... the script was producing the following output:
[ 52.238089][ T55] RIP: 0010:__ip_queue_xmit (...)
[ 52.238401][ T55] Code: c1 83 e0 07 48 c1 e9 03 83 c0 03 (...)
That's because scripts/decodecode doesn't preserve the alignment. No
need to modify it, it is enough to give only the "Code: (...)" part to
this script, and print the prefix without modifications.
With the same sample, we now have:
[ 52.238089][ T55] RIP: 0010:__ip_queue_xmit (...)
[ 52.238401][ T55] Code: c1 83 e0 07 48 c1 e9 03 83 c0 03 (...)
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
scripts/decode_stacktrace.sh | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/scripts/decode_stacktrace.sh b/scripts/decode_stacktrace.sh
index 0c92d6a7f777e1b2d5452dd894a13a71e3d58051..c73cb802a0a3fc6559c5f53ff844e5cc6e433615 100755
--- a/scripts/decode_stacktrace.sh
+++ b/scripts/decode_stacktrace.sh
@@ -242,8 +242,10 @@ debuginfod_get_vmlinux() {
decode_code() {
local scripts=`dirname "${BASH_SOURCE[0]}"`
+ local lim="Code: "
- echo "$1" | $scripts/decodecode
+ echo -n "${1%%${lim}*}"
+ echo "${lim}${1##*${lim}}" | $scripts/decodecode
}
handle_line() {
--
2.51.0
On Mon, Sep 08, 2025 at 05:41:59PM +0200, Matthieu Baerts (NGI0) wrote: > With lines having a code to decode, the alignment was not preserved for > the first line. > > With this sample ... > > [ 52.238089][ T55] RIP: 0010:__ip_queue_xmit+0x127c/0x1820 > [ 52.238401][ T55] Code: c1 83 e0 07 48 c1 e9 03 83 c0 03 (...) > > ... the script was producing the following output: > > [ 52.238089][ T55] RIP: 0010:__ip_queue_xmit (...) > [ 52.238401][ T55] Code: c1 83 e0 07 48 c1 e9 03 83 c0 03 (...) > > That's because scripts/decodecode doesn't preserve the alignment. No > need to modify it, it is enough to give only the "Code: (...)" part to > this script, and print the prefix without modifications. > > With the same sample, we now have: > > [ 52.238089][ T55] RIP: 0010:__ip_queue_xmit (...) > [ 52.238401][ T55] Code: c1 83 e0 07 48 c1 e9 03 83 c0 03 (...) > > Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> > --- > scripts/decode_stacktrace.sh | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/scripts/decode_stacktrace.sh b/scripts/decode_stacktrace.sh > index 0c92d6a7f777e1b2d5452dd894a13a71e3d58051..c73cb802a0a3fc6559c5f53ff844e5cc6e433615 100755 > --- a/scripts/decode_stacktrace.sh > +++ b/scripts/decode_stacktrace.sh > @@ -242,8 +242,10 @@ debuginfod_get_vmlinux() { > > decode_code() { > local scripts=`dirname "${BASH_SOURCE[0]}"` > + local lim="Code: " > > - echo "$1" | $scripts/decodecode > + echo -n "${1%%${lim}*}" > + echo "${lim}${1##*${lim}}" | $scripts/decodecode > } > > handle_line() { > > -- > 2.51.0 > This also worked for me. From this: [ 143.815379][ T5218] kernel BUG at rust/helpers/bug.c:7! [ 143.815970][ T5218] Oops: invalid opcode: 0000 [#1] PREEMPT SMP KASAN PTI [...] [ 143.842198][ T5218] RIP: 0010:rust_helper_BUG (rust/helpers/bug.c:7 (discriminator 4)) [ 143.842231][ T5218] Code: cc cc cc cc cc 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 b8 (...) ... to now: [ 143.815379][ T5218] kernel BUG at rust/helpers/bug.c:7! [ 143.815970][ T5218] Oops: invalid opcode: 0000 [#1] PREEMPT SMP KASAN PTI [...] [ 143.842198][ T5218] RIP: 0010:rust_helper_BUG (rust/helpers/bug.c:7 (discriminator 4)) [ 143.842231][ T5218] Code: cc cc cc cc cc 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 b8 (...) Tested-by: Carlos Llamas <cmllamas@google.com>
© 2016 - 2025 Red Hat, Inc.