Hi Linus,

Please pull the kselftest fixes update for Linux 6.19-rc4.

linux_kselftest-fixes-6.19-rc4

-- Fix for build failures in tests that use an empty FIXTURE() seen in
   Android's build environment, which uses -D_FORTIFY_SOURCE=3), a build
   failure occurs in tests that use an empty FIXTURE().

-- Fix func_traceonoff_triggers.tc sometimes failures on Kunpeng-920 board
   resulting from including transient trace file name in checksum compare.

-- Fix to remove available_events requirement from toplevel-enable for
   instance as it isn't a valid requirement for this test.

diff is attached.

thanks,
-- Shuah

----------------------------------------------------------------
The following changes since commit 8f0b4cce4481fb22653697cced8d0d04027cb1e8:

  Linux 6.19-rc1 (2025-12-14 16:05:07 +1200)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest 
tags/linux_kselftest-fixes-6.19-rc4

for you to fetch changes up to 19b8a76cd99bde6d299e60490f3e62b8d3df3997:

  kselftest/harness: Use helper to avoid zero-size memset warning (2025-12-31 
13:27:36 -0700)

----------------------------------------------------------------
linux_kselftest-fixes-6.19-rc4

-- Fix for build failures in tests that use an empty FIXTURE() seen in
   Android's build environment, which uses -D_FORTIFY_SOURCE=3), a build
   failure occurs in tests that use an empty FIXTURE().

-- Fix func_traceonoff_triggers.tc sometimes failures on Kunpeng-920 board
   resulting from including transient trace file name in checksum compare.

-- Fix to remove available_events requirement from toplevel-enable for
   instance as it isn't a valid requirement for this test.

----------------------------------------------------------------
Wake Liu (1):
      kselftest/harness: Use helper to avoid zero-size memset warning

Yipeng Zou (1):
      selftests/ftrace: traceonoff_triggers: strip off names

Zheng Yejian (1):
      selftests/ftrace: Test toplevel-enable for instance

 tools/testing/selftests/ftrace/test.d/event/toplevel-enable.tc    | 3 ++-
 .../selftests/ftrace/test.d/ftrace/func_traceonoff_triggers.tc    | 5 +++--
 tools/testing/selftests/kselftest_harness.h                       | 8 +++++++-
 3 files changed, 12 insertions(+), 4 deletions(-)
----------------------------------------------------------------
diff --git a/tools/testing/selftests/ftrace/test.d/event/toplevel-enable.tc b/tools/testing/selftests/ftrace/test.d/event/toplevel-enable.tc
index 93c10ea42a68..8b8e1aea985b 100644
--- a/tools/testing/selftests/ftrace/test.d/event/toplevel-enable.tc
+++ b/tools/testing/selftests/ftrace/test.d/event/toplevel-enable.tc
@@ -1,7 +1,8 @@
 #!/bin/sh
 # SPDX-License-Identifier: GPL-2.0
 # description: event tracing - enable/disable with top level files
-# requires: available_events set_event events/enable
+# requires: set_event events/enable
+# flags: instance
 
 do_reset() {
     echo > set_event
diff --git a/tools/testing/selftests/ftrace/test.d/ftrace/func_traceonoff_triggers.tc b/tools/testing/selftests/ftrace/test.d/ftrace/func_traceonoff_triggers.tc
index aee22289536b..1b57771dbfdf 100644
--- a/tools/testing/selftests/ftrace/test.d/ftrace/func_traceonoff_triggers.tc
+++ b/tools/testing/selftests/ftrace/test.d/ftrace/func_traceonoff_triggers.tc
@@ -90,9 +90,10 @@ if [ $on != "0" ]; then
     fail "Tracing is not off"
 fi
 
-csum1=`md5sum trace`
+# Cannot rely on names being around as they are only cached, strip them
+csum1=`cat trace | sed -e 's/^ *[^ ]*\(-[0-9][0-9]*\)/\1/' | md5sum`
 sleep $SLEEP_TIME
-csum2=`md5sum trace`
+csum2=`cat trace | sed -e 's/^ *[^ ]*\(-[0-9][0-9]*\)/\1/' | md5sum`
 
 if [ "$csum1" != "$csum2" ]; then
     fail "Tracing file is still changing"
diff --git a/tools/testing/selftests/kselftest_harness.h b/tools/testing/selftests/kselftest_harness.h
index baae6b7ded41..16a119a4656c 100644
--- a/tools/testing/selftests/kselftest_harness.h
+++ b/tools/testing/selftests/kselftest_harness.h
@@ -70,6 +70,12 @@
 
 #include "kselftest.h"
 
+static inline void __kselftest_memset_safe(void *s, int c, size_t n)
+{
+	if (n > 0)
+		memset(s, c, n);
+}
+
 #define TEST_TIMEOUT_DEFAULT 30
 
 /* Utilities exposed to the test definitions */
@@ -416,7 +422,7 @@
 				self = mmap(NULL, sizeof(*self), PROT_READ | PROT_WRITE, \
 					MAP_SHARED | MAP_ANONYMOUS, -1, 0); \
 			} else { \
-				memset(&self_private, 0, sizeof(self_private)); \
+				__kselftest_memset_safe(&self_private, 0, sizeof(self_private)); \
 				self = &self_private; \
 			} \
 		} \

Reply via email to