All of lore.kernel.org
 help / color / mirror / Atom feed
From: Masami Hiramatsu <mhiramat@kernel.org>
To: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@kernel.org>
Cc: x86@kernel.org, Masami Hiramatsu <mhiramat@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, "H . Peter Anvin" <hpa@zytor.com>,
	linux-kernel@vger.kernel.org,
	Ananth N Mavinakayanahalli <ananth@linux.vnet.ibm.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Laura Abbott <labbott@redhat.com>, Josef Bacik <jbacik@fb.com>,
	Alexei Starovoitov <ast@kernel.org>,
	Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com>,
	Vineet Gupta <vgupta@synopsys.com>,
	Russell King <linux@armlinux.org.uk>,
	Arnd Bergmann <arnd@arndb.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will.deacon@arm.com>,
	Tony Luck <tony.luck@intel.com>,
	Fenghua Yu <fenghua.yu@intel.com>,
	Ralf Baechle <ralf@linux-mips.org>,
	James Hogan <jhogan@kernel.org>,
	Martin Schwidefsky <schwidefsky@de.ibm.com>,
	Heiko Carstens <heiko.carstens@de.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	"David S . Miller" <davem@davemloft.net>,
	linux-arch@vger.kernel.org
Subject: [PATCH -tip v4 27/27] kprobes: Remove jprobe stub API
Date: Mon, 28 May 2018 16:13:11 +0900	[thread overview]
Message-ID: <152749159104.15132.4654939175905593999.stgit@devbox> (raw)
In-Reply-To: <152749074878.15132.16693721906742461289.stgit@devbox>

Remove jprobe stub APIs from linux/kprobes.h since
the jprobe implementation was completely gone.

Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
---
 include/linux/kprobes.h |   50 -----------------------------------------------
 1 file changed, 50 deletions(-)

diff --git a/include/linux/kprobes.h b/include/linux/kprobes.h
index b520baa65682..e909413e4e38 100644
--- a/include/linux/kprobes.h
+++ b/include/linux/kprobes.h
@@ -63,7 +63,6 @@ struct pt_regs;
 struct kretprobe;
 struct kretprobe_instance;
 typedef int (*kprobe_pre_handler_t) (struct kprobe *, struct pt_regs *);
-typedef int (*kprobe_break_handler_t) (struct kprobe *, struct pt_regs *);
 typedef void (*kprobe_post_handler_t) (struct kprobe *, struct pt_regs *,
 				       unsigned long flags);
 typedef int (*kprobe_fault_handler_t) (struct kprobe *, struct pt_regs *,
@@ -101,12 +100,6 @@ struct kprobe {
 	 */
 	kprobe_fault_handler_t fault_handler;
 
-	/*
-	 * ... called if breakpoint trap occurs in probe handler.
-	 * Return 1 if it handled break, otherwise kernel will see it.
-	 */
-	kprobe_break_handler_t break_handler;
-
 	/* Saved opcode (which has been replaced with breakpoint) */
 	kprobe_opcode_t opcode;
 
@@ -155,24 +148,6 @@ static inline int kprobe_ftrace(struct kprobe *p)
 }
 
 /*
- * Special probe type that uses setjmp-longjmp type tricks to resume
- * execution at a specified entry with a matching prototype corresponding
- * to the probed function - a trick to enable arguments to become
- * accessible seamlessly by probe handling logic.
- * Note:
- * Because of the way compilers allocate stack space for local variables
- * etc upfront, regardless of sub-scopes within a function, this mirroring
- * principle currently works only for probes placed on function entry points.
- */
-struct jprobe {
-	struct kprobe kp;
-	void *entry;	/* probe handling code to jump to */
-};
-
-/* For backward compatibility with old code using JPROBE_ENTRY() */
-#define JPROBE_ENTRY(handler)	(handler)
-
-/*
  * Function-return probe -
  * Note:
  * User needs to provide a handler function, and initialize maxactive.
@@ -436,9 +411,6 @@ static inline void unregister_kprobe(struct kprobe *p)
 static inline void unregister_kprobes(struct kprobe **kps, int num)
 {
 }
-static inline void jprobe_return(void)
-{
-}
 static inline int register_kretprobe(struct kretprobe *rp)
 {
 	return -ENOSYS;
@@ -465,20 +437,6 @@ static inline int enable_kprobe(struct kprobe *kp)
 	return -ENOSYS;
 }
 #endif /* CONFIG_KPROBES */
-static inline int register_jprobe(struct jprobe *p)
-{
-	return -ENOSYS;
-}
-static inline int register_jprobes(struct jprobe **jps, int num)
-{
-	return -ENOSYS;
-}
-static inline void unregister_jprobe(struct jprobe *p)
-{
-}
-static inline void unregister_jprobes(struct jprobe **jps, int num)
-{
-}
 static inline int disable_kretprobe(struct kretprobe *rp)
 {
 	return disable_kprobe(&rp->kp);
@@ -487,14 +445,6 @@ static inline int enable_kretprobe(struct kretprobe *rp)
 {
 	return enable_kprobe(&rp->kp);
 }
-static inline int disable_jprobe(struct jprobe *jp)
-{
-	return -ENOSYS;
-}
-static inline int enable_jprobe(struct jprobe *jp)
-{
-	return -ENOSYS;
-}
 
 #ifndef CONFIG_KPROBES
 static inline bool is_kprobe_insn_slot(unsigned long addr)

WARNING: multiple messages have this Message-ID (diff)
From: Masami Hiramatsu <mhiramat@kernel.org>
To: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@kernel.org>
Cc: x86@kernel.org, Masami Hiramatsu <mhiramat@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, "H . Peter Anvin" <hpa@zytor.com>,
	linux-kernel@vger.kernel.org,
	Ananth N Mavinakayanahalli <ananth@linux.vnet.ibm.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Laura Abbott <labbott@redhat.com>, Josef Bacik <jbacik@fb.com>,
	Alexei Starovoitov <ast@kernel.org>,
	Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com>,
	Vineet Gupta <vgupta@synopsys.com>,
	Russell King <linux@armlinux.org.uk>,
	Arnd Bergmann <arnd@arndb.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will.deacon@arm.com>,
	Tony Luck <tony.luck@intel.com>,
	Fenghua Yu <fenghua.yu@intel.com>,
	Ralf Baechle <ralf@linux-mips.org>,
	James Hogan <jhogan@kernel.org>
Subject: [PATCH -tip v4 27/27] kprobes: Remove jprobe stub API
Date: Mon, 28 May 2018 16:13:11 +0900	[thread overview]
Message-ID: <152749159104.15132.4654939175905593999.stgit@devbox> (raw)
In-Reply-To: <152749074878.15132.16693721906742461289.stgit@devbox>

Remove jprobe stub APIs from linux/kprobes.h since
the jprobe implementation was completely gone.

Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
---
 include/linux/kprobes.h |   50 -----------------------------------------------
 1 file changed, 50 deletions(-)

diff --git a/include/linux/kprobes.h b/include/linux/kprobes.h
index b520baa65682..e909413e4e38 100644
--- a/include/linux/kprobes.h
+++ b/include/linux/kprobes.h
@@ -63,7 +63,6 @@ struct pt_regs;
 struct kretprobe;
 struct kretprobe_instance;
 typedef int (*kprobe_pre_handler_t) (struct kprobe *, struct pt_regs *);
-typedef int (*kprobe_break_handler_t) (struct kprobe *, struct pt_regs *);
 typedef void (*kprobe_post_handler_t) (struct kprobe *, struct pt_regs *,
 				       unsigned long flags);
 typedef int (*kprobe_fault_handler_t) (struct kprobe *, struct pt_regs *,
@@ -101,12 +100,6 @@ struct kprobe {
 	 */
 	kprobe_fault_handler_t fault_handler;
 
-	/*
-	 * ... called if breakpoint trap occurs in probe handler.
-	 * Return 1 if it handled break, otherwise kernel will see it.
-	 */
-	kprobe_break_handler_t break_handler;
-
 	/* Saved opcode (which has been replaced with breakpoint) */
 	kprobe_opcode_t opcode;
 
@@ -155,24 +148,6 @@ static inline int kprobe_ftrace(struct kprobe *p)
 }
 
 /*
- * Special probe type that uses setjmp-longjmp type tricks to resume
- * execution at a specified entry with a matching prototype corresponding
- * to the probed function - a trick to enable arguments to become
- * accessible seamlessly by probe handling logic.
- * Note:
- * Because of the way compilers allocate stack space for local variables
- * etc upfront, regardless of sub-scopes within a function, this mirroring
- * principle currently works only for probes placed on function entry points.
- */
-struct jprobe {
-	struct kprobe kp;
-	void *entry;	/* probe handling code to jump to */
-};
-
-/* For backward compatibility with old code using JPROBE_ENTRY() */
-#define JPROBE_ENTRY(handler)	(handler)
-
-/*
  * Function-return probe -
  * Note:
  * User needs to provide a handler function, and initialize maxactive.
@@ -436,9 +411,6 @@ static inline void unregister_kprobe(struct kprobe *p)
 static inline void unregister_kprobes(struct kprobe **kps, int num)
 {
 }
-static inline void jprobe_return(void)
-{
-}
 static inline int register_kretprobe(struct kretprobe *rp)
 {
 	return -ENOSYS;
@@ -465,20 +437,6 @@ static inline int enable_kprobe(struct kprobe *kp)
 	return -ENOSYS;
 }
 #endif /* CONFIG_KPROBES */
-static inline int register_jprobe(struct jprobe *p)
-{
-	return -ENOSYS;
-}
-static inline int register_jprobes(struct jprobe **jps, int num)
-{
-	return -ENOSYS;
-}
-static inline void unregister_jprobe(struct jprobe *p)
-{
-}
-static inline void unregister_jprobes(struct jprobe **jps, int num)
-{
-}
 static inline int disable_kretprobe(struct kretprobe *rp)
 {
 	return disable_kprobe(&rp->kp);
@@ -487,14 +445,6 @@ static inline int enable_kretprobe(struct kretprobe *rp)
 {
 	return enable_kprobe(&rp->kp);
 }
-static inline int disable_jprobe(struct jprobe *jp)
-{
-	return -ENOSYS;
-}
-static inline int enable_jprobe(struct jprobe *jp)
-{
-	return -ENOSYS;
-}
 
 #ifndef CONFIG_KPROBES
 static inline bool is_kprobe_insn_slot(unsigned long addr)

  parent reply	other threads:[~2018-05-28  7:13 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-28  6:59 [PATCH -tip v4 00/27] kprobes: Cleanup jprobe implementation Masami Hiramatsu
2018-05-28  6:59 ` Masami Hiramatsu
2018-05-28  6:59 ` [PATCH -tip v4 01/27] Documentation/kprobes: Fix to remove remaining jprobe Masami Hiramatsu
2018-05-28  6:59   ` Masami Hiramatsu
2018-05-28  7:00 ` [PATCH -tip v4 02/27] kprobes: Remove jprobe API implementation Masami Hiramatsu
2018-05-28  7:00   ` Masami Hiramatsu
2018-05-28  7:00 ` [PATCH -tip v4 03/27] kprobes/x86: Remove jprobe implementation Masami Hiramatsu
2018-05-28  7:00   ` Masami Hiramatsu
2018-05-28  7:01 ` [PATCH -tip v4 04/27] ARC: kprobes: " Masami Hiramatsu
2018-05-28  7:01   ` Masami Hiramatsu
2018-05-28  7:01 ` [PATCH -tip v4 05/27] ARM: kprobes: Remove jprobe arm implementation Masami Hiramatsu
2018-05-28  7:01   ` Masami Hiramatsu
2018-05-28  7:02 ` [PATCH -tip v4 06/27] arm64: kprobes: Remove jprobe implementation Masami Hiramatsu
2018-05-28  7:02   ` Masami Hiramatsu
2018-05-28  7:02 ` [PATCH -tip v4 07/27] powerpc/kprobes: Remove jprobe powerpc implementation Masami Hiramatsu
2018-05-28  7:02   ` Masami Hiramatsu
2018-05-28  7:03 ` [PATCH -tip v4 08/27] ia64: kprobes: Remove jprobe implementation Masami Hiramatsu
2018-05-28  7:03   ` Masami Hiramatsu
2018-05-28  7:03 ` [PATCH -tip v4 09/27] MIPS: " Masami Hiramatsu
2018-05-28  7:03   ` Masami Hiramatsu
2018-05-28  7:04 ` [PATCH -tip v4 10/27] s390/kprobes: " Masami Hiramatsu
2018-05-28  7:04   ` Masami Hiramatsu
2018-05-28  7:04 ` [PATCH -tip v4 11/27] sh: kprobes: " Masami Hiramatsu
2018-05-28  7:04   ` Masami Hiramatsu
2018-05-28  7:05 ` [PATCH -tip v4 12/27] sparc64: " Masami Hiramatsu
2018-05-28  7:05   ` Masami Hiramatsu
2018-05-28  7:05 ` [PATCH -tip v4 13/27] kprobes: Don't check the ->break_handler() in generic kprobes code Masami Hiramatsu
2018-05-28  7:05   ` Masami Hiramatsu
2018-05-28  7:06 ` [PATCH -tip v4 14/27] kprobes/x86: Don't call ->break_handler() in x86 kprobes Masami Hiramatsu
2018-05-28  7:06   ` Masami Hiramatsu
2018-05-28  7:06 ` [PATCH -tip v4 15/27] ARC: kprobes: Don't call the ->break_handler() in ARC kprobes code Masami Hiramatsu
2018-05-28  7:06   ` Masami Hiramatsu
2018-05-28  7:07 ` [PATCH -tip v4 16/27] ARM: kprobes: Don't call the ->break_handler() in arm " Masami Hiramatsu
2018-05-28  7:07   ` Masami Hiramatsu
2018-05-28  7:08 ` [PATCH -tip v4 17/27] arm64: " Masami Hiramatsu
2018-05-28  7:08   ` Masami Hiramatsu
2018-05-28  7:08 ` [PATCH -tip v4 18/27] powerpc/kprobes: " Masami Hiramatsu
2018-05-28  7:08   ` Masami Hiramatsu
2018-05-28  7:09 ` [PATCH -tip v4 19/27] ia64: kprobes: Don't call the ->break_handler() in ia64 " Masami Hiramatsu
2018-05-28  7:09   ` Masami Hiramatsu
2018-05-28  7:09 ` [PATCH -tip v4 20/27] MIPS: kprobes: Don't call the ->break_handler() in MIPS " Masami Hiramatsu
2018-05-28  7:09   ` Masami Hiramatsu
2018-05-28  7:10 ` [PATCH -tip v4 21/27] s390/kprobes: Don't call the ->break_handler() in s390 " Masami Hiramatsu
2018-05-28  7:10   ` Masami Hiramatsu
2018-05-28  7:10 ` [PATCH -tip v4 22/27] sh: kprobes: Don't call the ->break_handler() in SH " Masami Hiramatsu
2018-05-28  7:10   ` Masami Hiramatsu
2018-05-28  7:11 ` [PATCH -tip v4 23/27] sparc64: kprobes: Don't call the ->break_handler() in sparc64 " Masami Hiramatsu
2018-05-28  7:11   ` Masami Hiramatsu
2018-05-28  7:11 ` [PATCH -tip v4 24/27] bpf: error-inject: kprobes: Clear current_kprobe and enable preempt in kprobe Masami Hiramatsu
2018-05-28  7:11   ` Masami Hiramatsu
2018-05-31 10:55   ` Naveen N. Rao
2018-06-01 23:36     ` Masami Hiramatsu
2018-06-02 11:58       ` Naveen N. Rao
2018-06-04  9:08         ` Masami Hiramatsu
2018-05-28  7:12 ` [PATCH -tip v4 25/27] x86: kprobes: Do not disable preempt on int3 path Masami Hiramatsu
2018-05-28  7:12   ` Masami Hiramatsu
2018-05-28  7:12 ` [PATCH -tip v4 26/27] Documentation: kprobes: Add how to change the execution path Masami Hiramatsu
2018-05-28  7:12   ` Masami Hiramatsu
2018-05-28  7:13 ` Masami Hiramatsu [this message]
2018-05-28  7:13   ` [PATCH -tip v4 27/27] kprobes: Remove jprobe stub API Masami Hiramatsu
2018-05-30  9:01 ` [PATCH -tip v4 00/27] kprobes: Cleanup jprobe implementation Masami Hiramatsu
2018-05-30  9:01   ` Masami Hiramatsu
2018-05-31 10:43   ` Naveen N. Rao
2018-05-31 10:43     ` Naveen N. Rao

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=152749159104.15132.4654939175905593999.stgit@devbox \
    --to=mhiramat@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=ananth@linux.vnet.ibm.com \
    --cc=arnd@arndb.de \
    --cc=ast@kernel.org \
    --cc=catalin.marinas@arm.com \
    --cc=dalias@libc.org \
    --cc=davem@davemloft.net \
    --cc=fenghua.yu@intel.com \
    --cc=heiko.carstens@de.ibm.com \
    --cc=hpa@zytor.com \
    --cc=jbacik@fb.com \
    --cc=jhogan@kernel.org \
    --cc=labbott@redhat.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=mingo@kernel.org \
    --cc=mingo@redhat.com \
    --cc=ralf@linux-mips.org \
    --cc=ravi.bangoria@linux.vnet.ibm.com \
    --cc=rostedt@goodmis.org \
    --cc=schwidefsky@de.ibm.com \
    --cc=tglx@linutronix.de \
    --cc=tony.luck@intel.com \
    --cc=vgupta@synopsys.com \
    --cc=will.deacon@arm.com \
    --cc=x86@kernel.org \
    --cc=ysato@users.sourceforge.jp \
    /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.