lkml.org 
[lkml]   [2019]   [Jul]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH v2 0/4] arm64: kprobes: Fix some bugs in arm64 kprobes
Date
Hi,

Here are the v2 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. 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.
This causes a real kernel crash if a kprobe is unexpectedly nested.
- 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/kernel/debug-monitors.c | 14 +++++++-----
arch/arm64/kernel/probes/kprobes.c | 41 ++++++------------------------------
arch/arm64/kernel/return_address.c | 4 +++-
arch/arm64/kernel/stacktrace.c | 3 +++
arch/arm64/mm/fault.c | 40 +++++++++++++++++++++++++++++++++++
5 files changed, 61 insertions(+), 41 deletions(-)

--
Masami Hiramatsu (Linaro) <mhiramat@kernel.org>

\
 
 \ /
  Last update: 2019-07-22 09:48    [W:0.099 / U:0.476 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site