All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/4] arm64: kprobes: Fix some bugs in arm64 kprobes
@ 2019-07-25  8:15 ` Masami Hiramatsu
  0 siblings, 0 replies; 24+ messages in thread
From: Masami Hiramatsu @ 2019-07-25  8:15 UTC (permalink / raw)
  To: Catalin Marinas, Will Deacon
  Cc: mhiramat, linux-arm-kernel, linux-kernel, Naresh Kamboju,
	Dan Rue, Matt Hart, Anders Roxell, Daniel Diaz

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>

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2019-08-01 14:36 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-25  8:15 [PATCH v3 0/4] arm64: kprobes: Fix some bugs in arm64 kprobes Masami Hiramatsu
2019-07-25  8:15 ` Masami Hiramatsu
2019-07-25  8:15 ` [PATCH v3 1/4] arm64: kprobes: Recover pstate.D in single-step exception handler Masami Hiramatsu
2019-07-25  8:15   ` Masami Hiramatsu
2019-08-01 12:16   ` Will Deacon
2019-08-01 12:16     ` Will Deacon
2019-08-01 14:08     ` Masami Hiramatsu
2019-08-01 14:08       ` Masami Hiramatsu
2019-08-01 14:25       ` [PATCH v4] " Masami Hiramatsu
2019-08-01 14:25         ` Masami Hiramatsu
2019-07-25  8:16 ` [PATCH v3 2/4] arm64: unwind: Prohibit probing on return_address() Masami Hiramatsu
2019-07-25  8:16   ` Masami Hiramatsu
2019-07-25  8:16 ` [PATCH v3 3/4] arm64: Make debug exception handlers visible from RCU Masami Hiramatsu
2019-07-25  8:16   ` Masami Hiramatsu
2019-07-31 17:26   ` Will Deacon
2019-07-31 17:26     ` Will Deacon
2019-08-01  5:32     ` Masami Hiramatsu
2019-08-01  5:32       ` Masami Hiramatsu
2019-08-01  7:37       ` Will Deacon
2019-08-01  7:37         ` Will Deacon
2019-08-01 14:36         ` [PATCH v4] " Masami Hiramatsu
2019-08-01 14:36           ` Masami Hiramatsu
2019-07-25  8:16 ` [PATCH v3 4/4] arm64: Remove unneeded rcu_read_lock from debug handlers Masami Hiramatsu
2019-07-25  8:16   ` Masami Hiramatsu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.