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

Message ID 166994750386.439920.1754385804350980158.stgit@devnote3
Headers
Series arm64: kprobes: Fix bugs in kprobes for arm64 |

Message

Masami Hiramatsu (Google) Dec. 2, 2022, 2:18 a.m. UTC
  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>
  

Comments

Will Deacon Dec. 5, 2022, 3:43 p.m. UTC | #1
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,