]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
torture: Provide EXPERT Kconfig option for arm64 KCSAN torture.sh runs
authorPaul E. McKenney <paulmck@kernel.org>
Thu, 15 May 2025 22:30:01 +0000 (15:30 -0700)
committerNeeraj Upadhyay (AMD) <neeraj.upadhyay@kernel.org>
Wed, 16 Jul 2025 04:13:27 +0000 (09:43 +0530)
The arm64 architecture requires that KCSAN-enabled kernels be built with
the CONFIG_EXPERT=y Kconfig option.  This commit therefore causes the
torture.sh script to provide this option, but only for --kcsan runs on
arm64 systems.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Cc: Marco Elver <elver@google.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: <kasan-dev@googlegroups.com>
Cc: <linux-arm-kernel@lists.infradead.org>
Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Neeraj Upadhyay (AMD) <neeraj.upadhyay@kernel.org>
tools/testing/selftests/rcutorture/bin/torture.sh

index 25847042e30e6e52404026cee9a4aa783e863ab6..420c551b824bf4e774ce344d481e0422edd14fd5 100755 (executable)
@@ -313,6 +313,13 @@ then
        do_scftorture=no
 fi
 
+# CONFIG_EXPERT=y is currently required for arm64 KCSAN runs.
+kcsan_expert=
+if test "${thisarch}" = aarch64
+then
+       kcsan_expert="CONFIG_EXPERT=y"
+fi
+
 touch $T/failures
 touch $T/successes
 
@@ -392,7 +399,7 @@ function torture_set {
                then
                        chk_rdr_state="CONFIG_RCU_TORTURE_TEST_CHK_RDR_STATE=y"
                fi
-               torture_one "$@" --kconfig "CONFIG_DEBUG_LOCK_ALLOC=y CONFIG_PROVE_LOCKING=y ${chk_rdr_state}" $kcsan_kmake_tag $cur_kcsan_kmake_args --kcsan
+               torture_one "$@" --kconfig "CONFIG_DEBUG_LOCK_ALLOC=y CONFIG_PROVE_LOCKING=y ${kcsan_expert} ${chk_rdr_state}" $kcsan_kmake_tag $cur_kcsan_kmake_args --kcsan
                mv $T/last-resdir $T/last-resdir-kcsan || :
        fi
 }