lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aL8FROiSovQDRpsm@google.com>
Date: Mon, 8 Sep 2025 16:33:08 +0000
From: Carlos Llamas <cmllamas@...gle.com>
To: "Matthieu Baerts (NGI0)" <matttbe@...nel.org>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
	Elliot Berman <quic_eberman@...cinc.com>,
	Stephen Boyd <swboyd@...omium.org>,
	Breno Leitao <leitao@...ian.org>,
	Luca Ceresoli <luca.ceresoli@...tlin.com>,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH 3/3] scripts/decode_stacktrace.sh: code: preserve
 alignment

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@...nel.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@...gle.com>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ