From: Masami Hiramatsu <mhiramat@kernel.org>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Eddy Wu <Eddy_Wu@trendmicro.com>,
linux-kernel@vger.kernel.org, x86@kernel.org,
"David S . Miller" <davem@davemloft.net>,
Steven Rostedt <rostedt@goodmis.org>,
Ingo Molnar <mingo@redhat.com>,
"Naveen N . Rao" <naveen.n.rao@linux.ibm.com>,
Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>,
linux-arch@vger.kernel.org
Subject: [RFC PATCH 00/14] kprobes: Unify kretprobe trampoline handlers
Date: Wed, 26 Aug 2020 22:46:12 +0900 [thread overview]
Message-ID: <159844957216.510284.17683703701627367133.stgit@devnote2> (raw)
Hi Peter,
Here is the series of patches to unify the kretprobe trampoline handler
implementation across all architectures which are currently kprobes supported.
Also, this finally removes the in_nmi() check from pre_kretprobe_handler()
since we can avoid double-lock deadlock from NMI by kprobe_busy_begin/end().
The unified generic kretprobe trampoline handler is based on x86 code, which
already support frame-pointer checker. I've enabled it on the arm and
arm64 which I can test. For other architecutres, currently the frame-pointer
checker does not work. If someone wants to enable it, please set the correct
frame pointer to ri->fp and pass it to kretprobe_trampoline_handler() as the
3rd parameter, instead of NULL.
Peter's lockless patch is not included yet because there seems more isses
to be solved. It seems that the cleanup_rp_inst() will be the biggest piece
of this pazzle.
Thank you,
---
Masami Hiramatsu (14):
kprobes: Add generic kretprobe trampoline handler
x86/kprobes: Use generic kretprobe trampoline handler
arm: kprobes: Use generic kretprobe trampoline handler
arm64: kprobes: Use generic kretprobe trampoline handler
arc: kprobes: Use generic kretprobe trampoline handler
csky: kprobes: Use generic kretprobe trampoline handler
ia64: kprobes: Use generic kretprobe trampoline handler
mips: kprobes: Use generic kretprobe trampoline handler
parisc: kprobes: Use generic kretprobe trampoline handler
powerpc: kprobes: Use generic kretprobe trampoline handler
s390: kprobes: Use generic kretprobe trampoline handler
sh: kprobes: Use generic kretprobe trampoline handler
sparc: kprobes: Use generic kretprobe trampoline handler
kprobes: Remove NMI context check
arch/arc/kernel/kprobes.c | 55 +----------------
arch/arm/probes/kprobes/core.c | 79 +-----------------------
arch/arm64/kernel/probes/kprobes.c | 79 +-----------------------
arch/csky/kernel/probes/kprobes.c | 78 +-----------------------
arch/ia64/kernel/kprobes.c | 79 +-----------------------
arch/mips/kernel/kprobes.c | 55 +----------------
arch/parisc/kernel/kprobes.c | 78 ++----------------------
arch/powerpc/kernel/kprobes.c | 55 ++---------------
arch/s390/kernel/kprobes.c | 81 +------------------------
arch/sh/kernel/kprobes.c | 59 +-----------------
arch/sparc/kernel/kprobes.c | 52 +---------------
arch/x86/kernel/kprobes/core.c | 109 +---------------------------------
include/linux/kprobes.h | 32 +++++++++-
kernel/kprobes.c | 117 ++++++++++++++++++++++++++++++++----
14 files changed, 182 insertions(+), 826 deletions(-)
--
Masami Hiramatsu (Linaro) <mhiramat@kernel.org>
next reply other threads:[~2020-08-26 13:46 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-26 13:46 Masami Hiramatsu [this message]
2020-08-26 13:46 ` [RFC PATCH 01/14] kprobes: Add generic kretprobe trampoline handler Masami Hiramatsu
2020-08-26 13:46 ` [RFC PATCH 02/14] x86/kprobes: Use " Masami Hiramatsu
2020-08-26 13:46 ` [RFC PATCH 03/14] arm: kprobes: " Masami Hiramatsu
2020-08-26 14:08 ` peterz
2020-08-26 14:10 ` peterz
2020-08-26 15:04 ` Masami Hiramatsu
2020-08-26 15:26 ` peterz
2020-08-26 22:59 ` kernel test robot
2020-08-26 13:46 ` [RFC PATCH 04/14] arm64: " Masami Hiramatsu
2020-08-26 13:47 ` [RFC PATCH 05/14] arc: " Masami Hiramatsu
2020-08-26 13:47 ` [RFC PATCH 06/14] csky: " Masami Hiramatsu
2020-08-26 13:47 ` [RFC PATCH 07/14] ia64: " Masami Hiramatsu
2020-08-26 13:47 ` [RFC PATCH 08/14] mips: " Masami Hiramatsu
2020-08-26 13:47 ` [RFC PATCH 09/14] parisc: " Masami Hiramatsu
2020-08-26 13:47 ` [RFC PATCH 10/14] powerpc: " Masami Hiramatsu
2020-08-26 19:25 ` kernel test robot
2020-08-26 20:34 ` kernel test robot
2020-08-26 13:48 ` [RFC PATCH 11/14] s390: " Masami Hiramatsu
2020-08-26 13:48 ` [RFC PATCH 12/14] sh: " Masami Hiramatsu
2020-08-26 13:48 ` [RFC PATCH 13/14] sparc: " Masami Hiramatsu
2020-08-26 13:48 ` [RFC PATCH 14/14] kprobes: Remove NMI context check Masami Hiramatsu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=159844957216.510284.17683703701627367133.stgit@devnote2 \
--to=mhiramat@kernel.org \
--cc=Eddy_Wu@trendmicro.com \
--cc=anil.s.keshavamurthy@intel.com \
--cc=davem@davemloft.net \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=naveen.n.rao@linux.ibm.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.