From: Masami Hiramatsu <mhiramat@kernel.org>
To: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@kernel.org>
Cc: 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>,
linux-arch@vger.kernel.org, Vineet Gupta <vgupta@synopsys.com>,
linux-snps-arc@lists.infradead.org
Subject: [RFC PATCH -tip v5 04/27] ARC: kprobes: Remove jprobe implementation
Date: Tue, 5 Jun 2018 00:50:26 +0900 [thread overview]
Message-ID: <152812742672.10068.6794442189016791113.stgit@devbox> (raw)
In-Reply-To: <152812730943.10068.5166429445118734697.stgit@devbox>
Remove arch dependent setjump/longjump functions
and unused fields in kprobe_ctlblk for jprobes
from arch/arc.
Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: linux-snps-arc@lists.infradead.org
---
arch/arc/include/asm/kprobes.h | 2 --
arch/arc/kernel/kprobes.c | 38 ++------------------------------------
2 files changed, 2 insertions(+), 38 deletions(-)
diff --git a/arch/arc/include/asm/kprobes.h b/arch/arc/include/asm/kprobes.h
index 2e52d18e6bc7..2c1b479d5aea 100644
--- a/arch/arc/include/asm/kprobes.h
+++ b/arch/arc/include/asm/kprobes.h
@@ -45,8 +45,6 @@ struct prev_kprobe {
struct kprobe_ctlblk {
unsigned int kprobe_status;
- struct pt_regs jprobe_saved_regs;
- char jprobes_stack[MAX_STACK_SIZE];
struct prev_kprobe prev_kprobe;
};
diff --git a/arch/arc/kernel/kprobes.c b/arch/arc/kernel/kprobes.c
index 42b05046fad9..7811a6bbe8f0 100644
--- a/arch/arc/kernel/kprobes.c
+++ b/arch/arc/kernel/kprobes.c
@@ -225,10 +225,8 @@ int __kprobes arc_kprobe_handler(unsigned long addr, struct pt_regs *regs)
/* If we have no pre-handler or it returned 0, we continue with
* normal processing. If we have a pre-handler and it returned
- * non-zero - which is expected from setjmp_pre_handler for
- * jprobe, we return without single stepping and leave that to
- * the break-handler which is invoked by a kprobe from
- * jprobe_return
+ * non-zero - which means user handler setup registers to exit
+ * to another instruction, we must skip the single stepping.
*/
if (!p->pre_handler || !p->pre_handler(p, regs)) {
setup_singlestep(p, regs);
@@ -386,38 +384,6 @@ int __kprobes kprobe_exceptions_notify(struct notifier_block *self,
return ret;
}
-int __kprobes setjmp_pre_handler(struct kprobe *p, struct pt_regs *regs)
-{
- struct jprobe *jp = container_of(p, struct jprobe, kp);
- struct kprobe_ctlblk *kcb = get_kprobe_ctlblk();
- unsigned long sp_addr = regs->sp;
-
- kcb->jprobe_saved_regs = *regs;
- memcpy(kcb->jprobes_stack, (void *)sp_addr, MIN_STACK_SIZE(sp_addr));
- regs->ret = (unsigned long)(jp->entry);
-
- return 1;
-}
-
-void __kprobes jprobe_return(void)
-{
- __asm__ __volatile__("unimp_s");
- return;
-}
-
-int __kprobes longjmp_break_handler(struct kprobe *p, struct pt_regs *regs)
-{
- struct kprobe_ctlblk *kcb = get_kprobe_ctlblk();
- unsigned long sp_addr;
-
- *regs = kcb->jprobe_saved_regs;
- sp_addr = regs->sp;
- memcpy((void *)sp_addr, kcb->jprobes_stack, MIN_STACK_SIZE(sp_addr));
- preempt_enable_no_resched();
-
- return 1;
-}
-
static void __used kretprobe_trampoline_holder(void)
{
__asm__ __volatile__(".global kretprobe_trampoline\n"
next prev parent reply other threads:[~2018-06-04 15:50 UTC|newest]
Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-04 15:48 [RFC PATCH -tip v5 00/27] kprobes: Cleanup jprobe implementation Masami Hiramatsu
2018-06-04 15:48 ` Masami Hiramatsu
2018-06-04 15:49 ` [RFC PATCH -tip v5 01/27] Documentation/kprobes: Fix to remove remaining jprobe Masami Hiramatsu
2018-06-04 15:49 ` Masami Hiramatsu
2018-06-04 15:49 ` [RFC PATCH -tip v5 02/27] kprobes: Remove jprobe API implementation Masami Hiramatsu
2018-06-04 15:49 ` Masami Hiramatsu
2018-06-04 15:49 ` [RFC PATCH -tip v5 03/27] kprobes/x86: Remove jprobe implementation Masami Hiramatsu
2018-06-04 15:49 ` Masami Hiramatsu
2018-06-04 15:50 ` Masami Hiramatsu [this message]
2018-06-04 15:50 ` [RFC PATCH -tip v5 04/27] ARC: kprobes: " Masami Hiramatsu
2018-06-04 15:50 ` [RFC PATCH -tip v5 05/27] ARM: kprobes: Remove jprobe arm implementation Masami Hiramatsu
2018-06-04 15:50 ` Masami Hiramatsu
2018-06-04 15:51 ` [RFC PATCH -tip v5 06/27] arm64: kprobes: Remove jprobe implementation Masami Hiramatsu
2018-06-04 15:51 ` Masami Hiramatsu
2018-06-05 15:34 ` Will Deacon
2018-06-05 15:34 ` Will Deacon
2018-06-06 4:42 ` Masami Hiramatsu
2018-06-06 4:42 ` Masami Hiramatsu
2018-06-04 15:51 ` [RFC PATCH -tip v5 07/27] powerpc/kprobes: Remove jprobe powerpc implementation Masami Hiramatsu
2018-06-04 15:51 ` Masami Hiramatsu
2018-06-07 11:31 ` Naveen N. Rao
2018-06-07 11:31 ` Naveen N. Rao
2018-06-07 14:23 ` Masami Hiramatsu
2018-06-07 14:23 ` Masami Hiramatsu
2018-06-04 15:52 ` [RFC PATCH -tip v5 08/27] ia64: kprobes: Remove jprobe implementation Masami Hiramatsu
2018-06-04 15:52 ` Masami Hiramatsu
2018-06-04 15:52 ` [RFC PATCH -tip v5 09/27] MIPS: " Masami Hiramatsu
2018-06-04 15:52 ` Masami Hiramatsu
2018-06-04 15:53 ` [RFC PATCH -tip v5 10/27] s390/kprobes: " Masami Hiramatsu
2018-06-04 15:53 ` Masami Hiramatsu
2018-06-04 15:53 ` [RFC PATCH -tip v5 11/27] sh: kprobes: " Masami Hiramatsu
2018-06-04 15:53 ` Masami Hiramatsu
2018-06-04 15:54 ` [RFC PATCH -tip v5 12/27] sparc64: " Masami Hiramatsu
2018-06-04 15:54 ` Masami Hiramatsu
2018-06-04 15:54 ` [RFC PATCH -tip v5 13/27] kprobes: Don't check the ->break_handler() in generic kprobes code Masami Hiramatsu
2018-06-04 15:54 ` Masami Hiramatsu
2018-06-04 15:55 ` [RFC PATCH -tip v5 14/27] kprobes/x86: Don't call ->break_handler() in x86 kprobes Masami Hiramatsu
2018-06-04 15:55 ` Masami Hiramatsu
2018-06-04 15:55 ` [RFC PATCH -tip v5 15/27] ARC: kprobes: Don't call the ->break_handler() in ARC kprobes code Masami Hiramatsu
2018-06-04 15:55 ` Masami Hiramatsu
2018-06-04 15:56 ` [RFC PATCH -tip v5 16/27] ARM: kprobes: Don't call the ->break_handler() in arm " Masami Hiramatsu
2018-06-04 15:56 ` Masami Hiramatsu
2018-06-04 15:56 ` [RFC PATCH -tip v5 17/27] arm64: " Masami Hiramatsu
2018-06-04 15:56 ` Masami Hiramatsu
2018-06-05 15:37 ` Will Deacon
2018-06-05 15:37 ` Will Deacon
2018-06-04 15:57 ` [RFC PATCH -tip v5 18/27] powerpc/kprobes: " Masami Hiramatsu
2018-06-04 15:57 ` Masami Hiramatsu
2018-06-07 11:37 ` Naveen N. Rao
2018-06-07 11:37 ` Naveen N. Rao
2018-06-07 14:28 ` Masami Hiramatsu
2018-06-07 14:28 ` Masami Hiramatsu
2018-06-07 16:37 ` Naveen N. Rao
2018-06-07 16:37 ` Naveen N. Rao
2018-06-08 0:42 ` Masami Hiramatsu
2018-06-08 0:42 ` Masami Hiramatsu
2018-06-04 15:57 ` [RFC PATCH -tip v5 19/27] ia64: kprobes: Don't call the ->break_handler() in ia64 " Masami Hiramatsu
2018-06-04 15:57 ` Masami Hiramatsu
2018-06-04 15:58 ` [RFC PATCH -tip v5 20/27] MIPS: kprobes: Don't call the ->break_handler() in MIPS " Masami Hiramatsu
2018-06-04 15:58 ` Masami Hiramatsu
2018-06-04 15:58 ` [RFC PATCH -tip v5 21/27] s390/kprobes: Don't call the ->break_handler() in s390 " Masami Hiramatsu
2018-06-04 15:58 ` Masami Hiramatsu
2018-06-04 15:59 ` [RFC PATCH -tip v5 22/27] sh: kprobes: Don't call the ->break_handler() in SH " Masami Hiramatsu
2018-06-04 15:59 ` Masami Hiramatsu
2018-06-04 15:59 ` [RFC PATCH -tip v5 23/27] sparc64: kprobes: Don't call the ->break_handler() in sparc64 " Masami Hiramatsu
2018-06-04 15:59 ` Masami Hiramatsu
2018-06-04 16:00 ` [RFC PATCH -tip v5 24/27] bpf: error-inject: kprobes: Clear current_kprobe and enable preempt in kprobe Masami Hiramatsu
2018-06-04 16:00 ` Masami Hiramatsu
2018-06-07 11:42 ` Naveen N. Rao
2018-06-07 11:42 ` Naveen N. Rao
2018-06-04 16:00 ` [RFC PATCH -tip v5 25/27] kprobes/x86: Do not disable preempt on int3 path Masami Hiramatsu
2018-06-04 16:00 ` Masami Hiramatsu
2018-06-04 16:01 ` [RFC PATCH -tip v5 26/27] Documentation: kprobes: Add how to change the execution path Masami Hiramatsu
2018-06-04 16:01 ` Masami Hiramatsu
2018-06-04 16:01 ` [RFC PATCH -tip v5 27/27] kprobes: Remove jprobe stub API Masami Hiramatsu
2018-06-04 16:01 ` 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=152812742672.10068.6794442189016791113.stgit@devbox \
--to=mhiramat@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=ananth@linux.vnet.ibm.com \
--cc=hpa@zytor.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-snps-arc@lists.infradead.org \
--cc=mingo@kernel.org \
--cc=mingo@redhat.com \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=vgupta@synopsys.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).