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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aRvSv03cqarM5dY9@google.com>
Date: Mon, 17 Nov 2025 17:58:23 -0800
From: Namhyung Kim <namhyung@...nel.org>
To: Thomas Richter <tmricht@...ux.ibm.com>
Cc: linux-kernel@...r.kernel.org, linux-s390@...r.kernel.org,
	linux-perf-users@...r.kernel.org, acme@...nel.org,
	agordeev@...ux.ibm.com, gor@...ux.ibm.com, sumanthk@...ux.ibm.com,
	hca@...ux.ibm.com, japo@...ux.ibm.com
Subject: Re: [PATCH Linux-next] perf test: Fix test case perf trace BTF
 general tests

Hello,

On Mon, Nov 17, 2025 at 01:43:59PM +0100, Thomas Richter wrote:
> The following test case fails on linux-next repo:
> 
>  ❯ uname -a
>  Linux s83lp47.lnxne.boe 6.18.0-20251116.rc5.git0.0f2995693867.63.\
>       fc42.s390x+next #1 SMP Sun Nov 16 20:05:28 CET 2025 s390x GNU/Linux
> 
>  # perf test -Fv 109
>  --- start ---
>  Checking if vmlinux BTF exists
>  Testing perf trace's string augmentation
>  Testing perf trace's buffer augmentation
>  Buffer augmentation test failed, output:
>  buffer content
>  echo/23281 write(1, buffer conten, 15, "") = 15
>  ---- end ----
>  109: perf trace BTF general tests            : FAILED!
>  #
> 
> The root case is a changed output format on linux-next.
> There is an addional "" string as forth parameter in the write()
> line. Here is the detailed output on linux-repo.
> Please note that this depends on the kernel and not on the perf tool.

Thanks for the report.  Do you know what the 4th arg is?  It'd be nice
if you can dump the contents of the event format which is
/sys/kernel/tracing/events/syscalls/sys_enter_write/format.

Thanks,
Namhyung

> 
> Output on linux next kernel:
>  # uname -a
>  Linux f43 6.18.0-rc5-next-20251114tmr-n #1 SMP PREEMPT_DYNAMIC ...
>  # perf config trace.show_arg_names=false trace.show_duration=false \
> 	trace.show_timestamp=false trace.args_alignment=0
>  # ./perf trace --sort-events -e write --max-events=1 \
> 	-- echo 'buffer content' 1>/dev/null
>  echo/7676 write(1, buffer content\10, 15, "") = 15
>  #
> 
> Output on linux kernel:
>  # uname -a
>  Linux b3560002.lnxne.boe 6.18.0-rc5m-perf #6 ....
>  # perf config trace.show_arg_names=false trace.show_duration=false \
> 	trace.show_timestamp=false trace.args_alignment=0
>  # ./perf trace --sort-events -e write --max-events=1 \
> 	-- echo 'buffer content' 1>/dev/null
>  echo/36932 write(1, buffer content\10, 15) = 15
>  #
> 
> Add the optional forth parameter in the extented regular expression to
> accept both output formats.
> 
> Output after:
>  # ./perf test -Fv 'perf trace BTF general tests'
>  --- start ---
>  Checking if vmlinux BTF exists
>  Testing perf trace's string augmentation
>  Testing perf trace's buffer augmentation
>  Testing perf trace's struct augmentation
>  ---- end ----
>  115: perf trace BTF general tests            : Ok
>  #
> 
> Signed-off-by: Thomas Richter <tmricht@...ux.ibm.com>
> ---
>  tools/perf/tests/shell/trace_btf_general.sh | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/perf/tests/shell/trace_btf_general.sh b/tools/perf/tests/shell/trace_btf_general.sh
> index ef2da806be6b..9cd6180062d8 100755
> --- a/tools/perf/tests/shell/trace_btf_general.sh
> +++ b/tools/perf/tests/shell/trace_btf_general.sh
> @@ -39,7 +39,7 @@ trace_test_buffer() {
>    echo "Testing perf trace's buffer augmentation"
>    # echo will insert a newline (\10) at the end of the buffer
>    output="$(perf trace --sort-events -e write --max-events=1 -- echo "${buffer}" 2>&1)"
> -  if ! echo "$output" | grep -q -E "^echo/[0-9]+ write\([0-9]+, ${buffer}.*, [0-9]+\) += +[0-9]+$"
> +  if ! echo "$output" | grep -qE "^echo/[0-9]+ write\([0-9]+, ${buffer}\\\\10, [0-9]+(, ..)?\) += +[0-9]+$"
>    then
>      printf "Buffer augmentation test failed, output:\n$output\n"
>      err=1
> -- 
> 2.51.1
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ