Messages in this thread | | | From | Masami Hiramatsu <> | Subject | [PATCH v3 0/4] arm64: kprobes: Fix some bugs in arm64 kprobes | Date | Thu, 25 Jul 2019 17:15:44 +0900 |
| |
Hi,
Here are the v3 patches which fixes kprobe bugs on arm64. In this version I fixed some issues pointed by James and add Reviewed-by and Acked-bys.
Background: Naresh reported that recently ftracetest crashes kernel, and I found there are 3 different bugs around the crash. In v1 thread, we found one another bug of RCU and debug exception.
- Kprobes on arm64 doesn't recover pstate.D mask after single stepping. So after hitting kprobes, the debug flag status is changed. - Some symbols which are called from blacklisted function, are not blacklisted. - Debug exception is not visible to RCU, thus rcu_read_lock() cause a warning inside it. - Debug exception handlers on arm64 is using rcu_read_lock(), but that is not needed because interrupts are disabled.
This series includes fixes for above bugs.
Thank you,
---
Masami Hiramatsu (4): arm64: kprobes: Recover pstate.D in single-step exception handler arm64: unwind: Prohibit probing on return_address() arm64: Make debug exception handlers visible from RCU arm64: Remove unneeded rcu_read_lock from debug handlers
arch/arm64/include/asm/daifflags.h | 2 ++ arch/arm64/kernel/debug-monitors.c | 14 +++++++------ arch/arm64/kernel/probes/kprobes.c | 39 +++++------------------------------ arch/arm64/kernel/return_address.c | 3 +++ arch/arm64/kernel/stacktrace.c | 3 +++ arch/arm64/mm/fault.c | 40 ++++++++++++++++++++++++++++++++++++ 6 files changed, 61 insertions(+), 40 deletions(-)
-- Masami Hiramatsu (Linaro) <mhiramat@kernel.org>
| |