mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-02-26 07:33:35 -05:00
Add KUnit test for riscv kprobes, mostly for simulated instructions. The test install kprobes into multiple sample functions, and check that these functions still return the expected magic value. This test can detect some kprobe bugs reported in the past (in Link:). Link: https://lore.kernel.org/linux-riscv/20241119111056.2554419-1-namcao@linutronix.de/ Link: https://lore.kernel.org/stable/c7e463c0-8cad-4f4e-addd-195c06b7b6de@iscas.ac.cn/ Link: https://lore.kernel.org/linux-riscv/20230829182500.61875-1-namcaov@gmail.com/ Signed-off-by: Nam Cao <namcao@linutronix.de> Tested-by: Alexandre Ghiti <alexghiti@rivosinc.com> Link: https://lore.kernel.org/r/20250513151631.3520793-1-namcao@linutronix.de Signed-off-by: Paul Walmsley <pjw@kernel.org>
48 lines
1.6 KiB
Plaintext
48 lines
1.6 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
menu "arch/riscv/kernel Testing and Coverage"
|
|
|
|
config AS_HAS_ULEB128
|
|
def_bool $(as-instr,.reloc label$(comma) R_RISCV_SET_ULEB128$(comma) 127\n.reloc label$(comma) R_RISCV_SUB_ULEB128$(comma) 127\nlabel:\n.word 0)
|
|
|
|
menuconfig RUNTIME_KERNEL_TESTING_MENU
|
|
bool "arch/riscv/kernel runtime Testing"
|
|
default y
|
|
help
|
|
Enable riscv kernel runtime testing.
|
|
|
|
if RUNTIME_KERNEL_TESTING_MENU
|
|
|
|
config RISCV_MODULE_LINKING_KUNIT
|
|
bool "KUnit test riscv module linking at runtime" if !KUNIT_ALL_TESTS
|
|
depends on KUNIT
|
|
default KUNIT_ALL_TESTS
|
|
help
|
|
Enable this option to test riscv module linking at boot. This will
|
|
enable a module called "test_module_linking".
|
|
|
|
KUnit tests run during boot and output the results to the debug log
|
|
in TAP format (http://testanything.org/). Only useful for kernel devs
|
|
running the KUnit test harness, and not intended for inclusion into a
|
|
production build.
|
|
|
|
For more information on KUnit and unit tests in general please refer
|
|
to the KUnit documentation in Documentation/dev-tools/kunit/.
|
|
|
|
If unsure, say N.
|
|
|
|
config RISCV_KPROBES_KUNIT
|
|
bool "KUnit test for riscv kprobes" if !KUNIT_ALL_TESTS
|
|
depends on KUNIT
|
|
depends on KPROBES
|
|
default KUNIT_ALL_TESTS
|
|
help
|
|
Enable testing for riscv kprobes. Useful for riscv and/or kprobes
|
|
development. The test verifies that kprobes do not change the behaviour
|
|
of some sample functions.
|
|
|
|
If unsure, say N.
|
|
|
|
endif # RUNTIME_TESTING_MENU
|
|
|
|
endmenu # "arch/riscv/kernel runtime Testing"
|