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>] [day] [month] [year] [list]
Message-ID: <20251117124359.75604-1-tmricht@linux.ibm.com>
Date: Mon, 17 Nov 2025 13:43:59 +0100
From: Thomas Richter <tmricht@...ux.ibm.com>
To: linux-kernel@...r.kernel.org, linux-s390@...r.kernel.org,
        linux-perf-users@...r.kernel.org, acme@...nel.org, namhyung@...nel.org
Cc: agordeev@...ux.ibm.com, gor@...ux.ibm.com, sumanthk@...ux.ibm.com,
        hca@...ux.ibm.com, japo@...ux.ibm.com,
        Thomas Richter <tmricht@...ux.ibm.com>
Subject: [PATCH Linux-next] perf test: Fix test case perf trace BTF general tests

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.

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