aboutsummaryrefslogtreecommitdiffstats
diff options
authorMark Rutland <mark.rutland@arm.com>2019-12-10 18:35:31 +0000
committerMark Rutland <mark.rutland@arm.com>2025-04-07 13:51:23 +0100
commit8464c8b8512371feb31f39365679a9e20f6446f2 (patch)
treed278cf2e28ddffbdcad37659112c5174432f4fa8
parent0af2f6be1b4281385b618cb86ad946eded089ac8 (diff)
downloadlinux-testing/v6.15-rc1.tar.gz
HACK: arm64: add testing config fragmentstesting/v6.15-rc1
This is commited to aid future reproducibility of bugs found on this branch, and is not intended for upstream. For basic/boot testing, build with: $ make defconfig testing.config $ make For fuzzing with syzkaller, build with: $ make defconfig testing.config syzkaller.config $ make To use additional instrumentation options, chain with the other config fragments, e.g. $ make defconfig testing.config pnmi.config syzkaller.config kasan.config ubsan.config $ make Signed-off-by: Mark Rutland <mark.rutland@arm.com>
-rw-r--r--arch/arm64/configs/kasan.config2
-rw-r--r--arch/arm64/configs/kcsan.config2
-rw-r--r--arch/arm64/configs/pnmi.config1
-rw-r--r--arch/arm64/configs/syzkaller.config27
-rw-r--r--arch/arm64/configs/testing.config51
-rw-r--r--arch/arm64/configs/ubsan.config1
6 files changed, 84 insertions, 0 deletions
diff --git a/arch/arm64/configs/kasan.config b/arch/arm64/configs/kasan.config
new file mode 100644
index 00000000000000..d18d056f78f1fc
--- /dev/null
+++ b/arch/arm64/configs/kasan.config
@@ -0,0 +1,2 @@
+CONFIG_KASAN=y
+CONFIG_KASAN_INLINE=y
diff --git a/arch/arm64/configs/kcsan.config b/arch/arm64/configs/kcsan.config
new file mode 100644
index 00000000000000..639736c067962c
--- /dev/null
+++ b/arch/arm64/configs/kcsan.config
@@ -0,0 +1,2 @@
+CONFIG_EXPERT=y
+CONFIG_KCSAN=y
diff --git a/arch/arm64/configs/pnmi.config b/arch/arm64/configs/pnmi.config
new file mode 100644
index 00000000000000..9a822122078c9d
--- /dev/null
+++ b/arch/arm64/configs/pnmi.config
@@ -0,0 +1 @@
+CONFIG_ARM64_PSEUDO_NMI=y
diff --git a/arch/arm64/configs/syzkaller.config b/arch/arm64/configs/syzkaller.config
new file mode 100644
index 00000000000000..7cc145db9b2b9f
--- /dev/null
+++ b/arch/arm64/configs/syzkaller.config
@@ -0,0 +1,27 @@
+# Makes it easier to separate interleaved printk calls from multiple
+# threads
+CONFIG_PRINTK_CALLER=y
+
+# Coverage information used to direct fuzzing
+CONFIG_KCOV=y
+CONFIG_KCOV_ENABLE_COMPARISONS=y
+
+# To avoid the need to insert kernel modules into the test filesystem,
+# force everything to be built into the main kernel Image.
+CONFIG_MODULES=n
+
+# Used for fuzzing networking
+CONFIG_NETDEVSIM=y
+
+# Used for fault injection
+CONFIG_FAULT_INJECTION=y
+CONFIG_FAILSLAB=y
+CONFIG_FAIL_PAGE_ALLOC=y
+CONFIG_FAIL_MAKE_REQUEST=y
+CONFIG_FAIL_IO_TIMEOUT=y
+CONFIG_FAIL_FUTEX=y
+CONFIG_FAULT_INJECTION_DEBUG_FS=y
+
+# Features that are worth fuzzing, even if not enabled in defconfig
+CONFIG_BPF_SYSCALL=y
+CONFIG_USERFAULTFD=y
diff --git a/arch/arm64/configs/testing.config b/arch/arm64/configs/testing.config
new file mode 100644
index 00000000000000..072a89126a637b
--- /dev/null
+++ b/arch/arm64/configs/testing.config
@@ -0,0 +1,51 @@
+# General runtime testing / instrumentation features worth enabling for
+# testing
+
+CONFIG_DEBUG_WX=y
+
+CONFIG_HARDENED_USERCOPY=y
+CONFIG_HARDENED_USERCOPY_FALLBACK=y
+CONFIG_FORTIFY_SOURCE=y
+
+CONFIG_NET_DEV_REFCNT_TRACKER=y
+CONFIG_NET_NS_REFCNT_TRACKER=y
+CONFIG_DEBUG_NET=y
+
+CONFIG_PAGE_TABLE_CHECK=y
+CONFIG_PAGE_TABLE_CHECK_ENFORCED=y
+
+CONFIG_DEBUG_VM=y
+CONFIG_DEBUG_VM_MAPLE_TREE=y
+CONFIG_DEBUG_VM_RB=y
+CONFIG_DEBUG_VM_PGFLAGS=y
+
+CONFIG_DEBUG_VIRTUAL=y
+CONFIG_DEBUG_PER_CPU_MAPS=y
+
+CONFIG_DEBUG_LIST=y
+CONFIG_DEBUG_CREDENTIALS=y
+CONFIG_DEBUG_TIMEKEEPING=y
+CONFIG_DEBUG_PREEMPT=y
+CONFIG_PROVE_LOCKING=y
+CONFIG_DEBUG_ATOMIC_SLEEP=y
+CONFIG_DEBUG_IRQFLAGS=y
+
+CONFIG_RCU_EQS_DEBUG=y
+
+CONFIG_SOFTLOCKUP_DETECTOR=y
+CONFIG_DETECT_HUNG_TASK=y
+CONFIG_WQ_WATCHDOG=y
+
+CONFIG_CSD_LOCK_WAIT_DEBUG=y
+
+CONFIG_HZ_1000=y
+CONFIG_NO_HZ_FULL=y
+CONFIG_CONTEXT_TRACKING_FORCE=y
+
+CONFIG_FTRACE=y
+CONFIG_FUNCTION_TRACER=y
+CONFIG_FUNCTION_GRAPH_TRACER=y
+CONFIG_FTRACE_SYSCALLS=y
+CONFIG_FTRACE_VALIDATE_RCU_IS_WATCHING=y
+
+CONFIG_KPROBES=y
diff --git a/arch/arm64/configs/ubsan.config b/arch/arm64/configs/ubsan.config
new file mode 100644
index 00000000000000..ceae016bdc4f7a
--- /dev/null
+++ b/arch/arm64/configs/ubsan.config
@@ -0,0 +1 @@
+CONFIG_UBSAN=y