Hi Linus,

Please pull this kselftest second update for Linux 7.2-rc1.

Fixes ftrace test and kselftest document

-- docs: remove obsolete wiki link from kselftest.rst
-- ftrace: drop invalid top-level local in test_ownership
-- ftrace: Fix trace_marker_raw test on 64K page kernels

diff is attacthed.

thanks,
-- Shuah

----------------------------------------------------------------
The following changes since commit 5f4974231fb3656c15a82faece9f2303b8c18a14:

  kselftest: fix doc for ksft_test_result_report() (2026-05-05 12:39:43 -0600)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest 
tags/linux_kselftest-next-7.2-rc1-second

for you to fetch changes up to fbb7ad31ab376c5101b2ac7205fad0344fd2de60:

  docs: kselftest: remove link to obsolete wiki (2026-06-18 17:04:49 -0600)

----------------------------------------------------------------
linux_kselftest-next-7.2-rc1-second

Fixes ftrace test and kselftest document

-- docs: remove obsolete wiki link from kselftest.rst
-- ftrace: drop invalid top-level local in test_ownership
-- ftrace: Fix trace_marker_raw test on 64K page kernels

----------------------------------------------------------------
Brett A C Sheffield (1):
      docs: kselftest: remove link to obsolete wiki

Cao Ruichuang (1):
      selftests/ftrace: Drop invalid top-level local in test_ownership

Tianchen Ding (1):
      selftests/ftrace: Fix trace_marker_raw test on 64K page kernels

 Documentation/dev-tools/kselftest.rst                      |  5 -----
 .../selftests/ftrace/test.d/00basic/test_ownership.tc      |  2 +-
 .../selftests/ftrace/test.d/00basic/trace_marker_raw.tc    | 14 +++++++++++---
 3 files changed, 12 insertions(+), 9 deletions(-)
----------------------------------------------------------------
diff --git a/Documentation/dev-tools/kselftest.rst b/Documentation/dev-tools/kselftest.rst
index d7bfe320338c..64c0ec7428a2 100644
--- a/Documentation/dev-tools/kselftest.rst
+++ b/Documentation/dev-tools/kselftest.rst
@@ -15,11 +15,6 @@ able to run that test on an older kernel. Hence, it is important to keep
 code that can still test an older kernel and make sure it skips the test
 gracefully on newer releases.
 
-You can find additional information on Kselftest framework, how to
-write new tests using the framework on Kselftest wiki:
-
-https://kselftest.wiki.kernel.org/
-
 On some systems, hot-plug tests could hang forever waiting for cpu and
 memory to be ready to be offlined. A special hot-plug target is created
 to run the full range of hot-plug tests. In default mode, hot-plug tests run
diff --git a/tools/testing/selftests/ftrace/test.d/00basic/test_ownership.tc b/tools/testing/selftests/ftrace/test.d/00basic/test_ownership.tc
index e71cc3ad0bdf..6d00d3c0f493 100644
--- a/tools/testing/selftests/ftrace/test.d/00basic/test_ownership.tc
+++ b/tools/testing/selftests/ftrace/test.d/00basic/test_ownership.tc
@@ -6,7 +6,7 @@
 original_group=`stat -c "%g" .`
 original_owner=`stat -c "%u" .`
 
-local mount_point=$(get_mount_point)
+mount_point=$(get_mount_point)
 
 mount_options=$(get_mnt_options "$mount_point")
 
diff --git a/tools/testing/selftests/ftrace/test.d/00basic/trace_marker_raw.tc b/tools/testing/selftests/ftrace/test.d/00basic/trace_marker_raw.tc
index 8e905d4fe6dd..f985ff391463 100644
--- a/tools/testing/selftests/ftrace/test.d/00basic/trace_marker_raw.tc
+++ b/tools/testing/selftests/ftrace/test.d/00basic/trace_marker_raw.tc
@@ -36,15 +36,23 @@ make_str() {
 
 	data=`printf -- 'X%.0s' $(seq $cnt)`
 
-	printf "${val}${data}"
+	# Return escape-sequence text (e.g. "\003\000..."); the caller
+	# converts to binary. Shell command substitution strips NUL bytes,
+	# so the binary form cannot survive being captured into a variable.
+	printf '%s' "${val}${data}"
 }
 
 write_buffer() {
 	id=$1
 	size=$2
 
-	# write the string into the raw marker
-	make_str $id $size > trace_marker_raw
+	str=`make_str $id $size`
+	len=`printf "$str" | wc -c`
+	# Pipe through dd to ensure a single atomic write() syscall
+	# on architectures with 64K pages, where shell's printf builtin
+	# uses stdio buffering which may split the output into multiple
+	# writes.
+	printf "$str" | dd of=trace_marker_raw bs=$len iflag=fullblock
 }
 
 

Reply via email to