[PATCH 0/3] arm64: kprobes: Fix some bugs in arm64 kprobes

From: Masami Hiramatsu
Date: Thu Jul 18 2019 - 01:43:36 EST


Hi,

Here are the patches which fixes kprobe bugs on arm64.

Naresh reported that recently ftracetest crashes kernel, and I found
there are 3 different bugs around the crash.

- Kprobes on arm64 doesn't recover pstate.D mask even if probed
context masks pstate.D. This causes a real kernel crash if a
kprobe is nested.
- Some symbols which are called from blacklisted function, are not
blacklisted.
- Debug exception handlers on arm64 is using rcu_read_lock(). This
doesn't crashes kernel, but kicks suspicious RCU usage warning if
we put kprobes on the function which is called in idle context.

This series includes fixes for above bugs.

Thank you,

---

Masami Hiramatsu (3):
arm64: kprobes: Recover pstate.D in single-step exception handler
arm64: unwind: Prohibit probing on return_address()
arm64: debug: Remove rcu_read_lock from debug exception


arch/arm64/kernel/debug-monitors.c | 14 ++++++++------
arch/arm64/kernel/probes/kprobes.c | 9 ++++++---
arch/arm64/kernel/return_address.c | 4 +++-
arch/arm64/kernel/stacktrace.c | 3 +++
4 files changed, 20 insertions(+), 10 deletions(-)

--
Masami Hiramatsu (Linaro) <mhiramat@xxxxxxxxxx>