All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH -tip 0/9] kprobes: Cleanup jprobe implementation
@ 2018-03-09 12:35 Masami Hiramatsu
  2018-03-09 12:35 ` [RFC PATCH -tip 1/9] kprobes: Remove jprobe API implementation Masami Hiramatsu
                   ` (10 more replies)
  0 siblings, 11 replies; 16+ messages in thread
From: Masami Hiramatsu @ 2018-03-09 12:35 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar
  Cc: x86, Masami Hiramatsu, Yang Bo, Ingo Molnar, H . Peter Anvin,
	linux-kernel, Ananth N Mavinakayanahalli, Andrew Morton,
	Steven Rostedt, Laura Abbott, Josef Bacik, Alexei Starovoitov

Hello,

Since we decided to remove jprobe from kernel last year,
its APIs are disabled and we worked on moving in-kernel
jprobe users to kprobes or trace-events. And now no jprobe
users are here anymore.

I think it is good time to get rid of jprobe implementation
from the kernel. However, I need other arch developers help
to complete it, since jprobe is implemented multi arch wide.
I can remove those code, but can not test all of those.

Here is the series of patches to show how to do that.
I tried to remove it from x86 tree. Basically we need to
do 3 things;

 - Remove jprobe functions (register/unregister,
   setjump/longjump) from generic/arch-dependent code.
   [1/9][2/9][3/9]
 - Remove break_handler related code.
   [4/9][5/9][6/9]
 - Do not disable preemption on exception handler
   [7/9][8/9][9/9]

The [3/9] and [6/9] are destractive changes except for x86
(means causes build errors) since those arch still have some
references of those functions. So we need to write patches
similar to [2/9] and [5/9] for each arch before applying those.
In this series I sorted it as this order just for review,
[3/9] and [6/9] should be applied after all archs have
been fixed.

Also, [7/9] is a kind of destractive, which changes required
behavior for the pre_handlers which changes regs->ip.
So we also need a patch similar to [7/9] for each arch too.
Fortunately, current in-tree such user is very limited, both
works only on x86. So it is not hurry, but we need to change
arch dependent code.

Thank you,

---

Masami Hiramatsu (9):
      kprobes: Remove jprobe API implementation
      x86: kprobes: Remove jprobe implementation
      kprobes: Remove jprobe data structure and interfaces
      kprobes: Ignore break_handler
      x86: kprobes: Ignore break_handler
      kprobes: Remove break_handler from struct kprobe
      x86: kprobes: Do not disable preempt on int3 path
      error-injection: Fix to not enabling preemption in pre_handler
      tracing: kprobes: Fix to not enabling preemption


 Documentation/kprobes.txt        |   13 ++--
 arch/x86/include/asm/kprobes.h   |    3 -
 arch/x86/kernel/kprobes/common.h |   10 ---
 arch/x86/kernel/kprobes/core.c   |  114 ++------------------------------------
 arch/x86/kernel/kprobes/ftrace.c |   21 +------
 arch/x86/kernel/kprobes/opt.c    |    1 
 include/linux/kprobes.h          |   54 ------------------
 kernel/fail_function.c           |    1 
 kernel/kprobes.c                 |  115 ++------------------------------------
 kernel/trace/trace_kprobe.c      |    3 -
 10 files changed, 20 insertions(+), 315 deletions(-)

--
Masami Hiramatsu

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

end of thread, other threads:[~2018-03-11 15:13 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-09 12:35 [RFC PATCH -tip 0/9] kprobes: Cleanup jprobe implementation Masami Hiramatsu
2018-03-09 12:35 ` [RFC PATCH -tip 1/9] kprobes: Remove jprobe API implementation Masami Hiramatsu
2018-03-09 12:36 ` [RFC PATCH -tip 2/9] x86: kprobes: Remove jprobe implementation Masami Hiramatsu
2018-03-09 12:36 ` [RFC PATCH -tip 3/9] kprobes: Remove jprobe data structure and interfaces Masami Hiramatsu
2018-03-09 12:37 ` [RFC PATCH -tip 4/9] kprobes: Ignore break_handler Masami Hiramatsu
2018-03-09 12:37 ` [RFC PATCH -tip 5/9] x86: " Masami Hiramatsu
2018-03-09 12:38 ` [RFC PATCH -tip 6/9] kprobes: Remove break_handler from struct kprobe Masami Hiramatsu
2018-03-09 12:38 ` [RFC PATCH -tip 7/9] x86: kprobes: Do not disable preempt on int3 path Masami Hiramatsu
2018-03-09 12:39 ` [RFC PATCH -tip 8/9] error-injection: Fix to not enabling preemption in pre_handler Masami Hiramatsu
2018-03-10  8:22   ` Ingo Molnar
2018-03-11 15:05     ` Masami Hiramatsu
2018-03-09 12:39 ` [RFC PATCH -tip 9/9] tracing: kprobes: Fix to not enabling preemption Masami Hiramatsu
2018-03-09 23:54 ` [RFC PATCH -tip 0/9] kprobes: Cleanup jprobe implementation Steven Rostedt
2018-03-10 13:55   ` Masami Hiramatsu
2018-03-10  8:24 ` Ingo Molnar
2018-03-11 15:13   ` 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.