[PATCH 00/10] kprobes: Make KUnit and add stacktrace on kretprobe tests
From: Masami Hiramatsu <mhiramat@kernel.org>
Date: 2021-10-15 12:50:59
Also in:
lkml
Hi, Here is the 2nd version of the series to change the kprobes selftest to KUnit and add testcases for stacktrace on kretprobes, which has been fixed recently on x86. The previous version is here; https://lore.kernel.org/all/163369609308.636038.15295764725220907794.stgit@devnote2/ (local) In this version, I fixed some typos and coding issues according to Will and Mark's comments. Thanks! And I added 1 RFC patch, which will detect the unwinding error on arm64 (just for testing) according to Mark's comment. But since I'm not sure how to handle that error correctly in the unwinder code. So this is just for testing. Mark, can you tell me how can I handle it? Just asserted by WARN_ON_ONCE() is OK? Or print out more error information? For the debugging, we need more information, so I printed out the error code. Thank you, --- Masami Hiramatsu (9): kprobes: Add a test case for stacktrace from kretprobe handler x86/unwind: Compile kretprobe fixup code only if CONFIG_KRETPROBES=y arm64: kprobes: Record frame pointer with kretprobe instance arm64: kprobes: Make a frame pointer on __kretprobe_trampoline arm64: Recover kretprobe modified return address in stacktrace ARM: clang: Do not rely on lr register for stacktrace ARM: kprobes: Make a frame pointer on __kretprobe_trampoline ARM: Recover kretprobe modified return address in stacktrace [RFC] arm64: kprobes: Detect error of kretprobe return address fixup Sven Schnelle (1): kprobes: convert tests to kunit arch/Kconfig | 8 + arch/arm/Kconfig | 1 arch/arm/include/asm/stacktrace.h | 9 + arch/arm/kernel/return_address.c | 4 arch/arm/kernel/stacktrace.c | 17 + arch/arm/probes/kprobes/core.c | 29 ++ arch/arm64/Kconfig | 1 arch/arm64/include/asm/stacktrace.h | 4 arch/arm64/kernel/probes/kprobes.c | 4 arch/arm64/kernel/probes/kprobes_trampoline.S | 4 arch/arm64/kernel/stacktrace.c | 13 + arch/x86/Kconfig | 1 arch/x86/include/asm/unwind.h | 6 include/linux/kprobes.h | 2 kernel/kprobes.c | 52 +++ kernel/test_kprobes.c | 374 ++++++++++++++----------- lib/Kconfig.debug | 3 17 files changed, 359 insertions(+), 173 deletions(-) -- Masami Hiramatsu (Linaro) [off-list ref] _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel