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

Masami Hiramatsu (Google) posted 3 patches 2 years, 9 months ago
arch/arm64/kernel/probes/kprobes.c |   86 +++++++++++++++---------------------
arch/arm64/kernel/stacktrace.c     |   10 ++--
2 files changed, 41 insertions(+), 55 deletions(-)
[PATCH v2 0/3] arm64: kprobes: Fix bugs in kprobes for arm64
Posted by Masami Hiramatsu (Google) 2 years, 9 months ago
Hi,

Here is the 2nd version of the kprobe bugfixes on arm64. The previous
series is here;

https://lore.kernel.org/all/166990553243.253128.13594802750635478633.stgit@devnote3/T/#u

The first one is a critical issue, which will cause a kernel crach
easily with lockdep[1/3]. Others are minor issues and rare cases.
The [2/3] let do_page_fault() fixup the page fault in kprobes user
handler, and [3/3] is more like code cleanup and returns
DBG_HOOK_ERROR if it can not handle kprobe's BRK (but that
should not happen.)

In this version I update to use noinstr and __always_inline [1/3]
and update comments[3/3]. Also add Mark's Ack (Thanks!)

Thank you,

---

Masami Hiramatsu (Google) (3):
      arm64: Prohibit instrumentation on arch_stack_walk()
      arm64: kprobes: Let arch do_page_fault() fix up page fault in user handler
      arm64: kprobes: Return DBG_HOOK_ERROR if kprobes can not handle a BRK


 arch/arm64/kernel/probes/kprobes.c |   86 +++++++++++++++---------------------
 arch/arm64/kernel/stacktrace.c     |   10 ++--
 2 files changed, 41 insertions(+), 55 deletions(-)

--
Masami Hiramatsu (Google) <mhiramat@kernel.org>
Re: [PATCH v2 0/3] arm64: kprobes: Fix bugs in kprobes for arm64
Posted by Will Deacon 2 years, 9 months ago
On Fri, 2 Dec 2022 11:18:23 +0900, Masami Hiramatsu (Google) wrote:
> Here is the 2nd version of the kprobe bugfixes on arm64. The previous
> series is here;
> 
> https://lore.kernel.org/all/166990553243.253128.13594802750635478633.stgit@devnote3/T/#u
> 
> The first one is a critical issue, which will cause a kernel crach
> easily with lockdep[1/3]. Others are minor issues and rare cases.
> The [2/3] let do_page_fault() fixup the page fault in kprobes user
> handler, and [3/3] is more like code cleanup and returns
> DBG_HOOK_ERROR if it can not handle kprobe's BRK (but that
> should not happen.)
> 
> [...]

Applied to arm64 (for-next/kprobes), thanks!

[1/3] arm64: Prohibit instrumentation on arch_stack_walk()
      https://git.kernel.org/arm64/c/0fbcd8abf337
[2/3] arm64: kprobes: Let arch do_page_fault() fix up page fault in user handler
      https://git.kernel.org/arm64/c/30a421552373
[3/3] arm64: kprobes: Return DBG_HOOK_ERROR if kprobes can not handle a BRK
      https://git.kernel.org/arm64/c/3b84efc066f8

Cheers,
-- 
Will

https://fixes.arm64.dev
https://next.arm64.dev
https://will.arm64.dev