linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: tixy@linaro.org (Jon Medhurst (Tixy))
To: linux-arm-kernel@lists.infradead.org
Subject: [RESEND][PATCH v15 6/7] kprobes: Pass the original kprobe for preparing optimized kprobe
Date: Wed, 10 Dec 2014 13:23:17 +0000	[thread overview]
Message-ID: <1418217797.3661.22.camel@linaro.org> (raw)
In-Reply-To: <1418047765-53197-7-git-send-email-wangnan0@huawei.com>

Hi Masami Hiramatsu

How should this patch find its way into the mainline? Is it OK to submit
this as part of the ARM kprobe changes (which presumably will go in via
Russell's tree)?
 
-- 
Tixy

On Mon, 2014-12-08 at 22:09 +0800, Wang Nan wrote:
> From: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
> 
> Pass the original kprobe for preparing an optimized kprobe arch-dep
> part, since for some architecture (e.g. ARM32) requires the information
> in original kprobe.
> 
> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
> Signed-off-by: Wang Nan <wangnan0@huawei.com>
> ---
>  arch/x86/kernel/kprobes/opt.c | 3 ++-
>  include/linux/kprobes.h       | 3 ++-
>  kernel/kprobes.c              | 4 ++--
>  3 files changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/x86/kernel/kprobes/opt.c b/arch/x86/kernel/kprobes/opt.c
> index f1314d0..7028296 100644
> --- a/arch/x86/kernel/kprobes/opt.c
> +++ b/arch/x86/kernel/kprobes/opt.c
> @@ -320,7 +320,8 @@ void arch_remove_optimized_kprobe(struct optimized_kprobe *op)
>   * Target instructions MUST be relocatable (checked inside)
>   * This is called when new aggr(opt)probe is allocated or reused.
>   */
> -int arch_prepare_optimized_kprobe(struct optimized_kprobe *op)
> +int arch_prepare_optimized_kprobe(struct optimized_kprobe *op,
> +				  struct kprobe *__unused)
>  {
>  	u8 *buf;
>  	int ret;
> diff --git a/include/linux/kprobes.h b/include/linux/kprobes.h
> index f7296e5..7ab2c93 100644
> --- a/include/linux/kprobes.h
> +++ b/include/linux/kprobes.h
> @@ -308,7 +308,8 @@ struct optimized_kprobe {
>  /* Architecture dependent functions for direct jump optimization */
>  extern int arch_prepared_optinsn(struct arch_optimized_insn *optinsn);
>  extern int arch_check_optimized_kprobe(struct optimized_kprobe *op);
> -extern int arch_prepare_optimized_kprobe(struct optimized_kprobe *op);
> +extern int arch_prepare_optimized_kprobe(struct optimized_kprobe *op,
> +					 struct kprobe *orig);
>  extern void arch_remove_optimized_kprobe(struct optimized_kprobe *op);
>  extern void arch_optimize_kprobes(struct list_head *oplist);
>  extern void arch_unoptimize_kprobes(struct list_head *oplist,
> diff --git a/kernel/kprobes.c b/kernel/kprobes.c
> index 3995f54..9f28aa7 100644
> --- a/kernel/kprobes.c
> +++ b/kernel/kprobes.c
> @@ -717,7 +717,7 @@ static void prepare_optimized_kprobe(struct kprobe *p)
>  	struct optimized_kprobe *op;
>  
>  	op = container_of(p, struct optimized_kprobe, kp);
> -	arch_prepare_optimized_kprobe(op);
> +	arch_prepare_optimized_kprobe(op, p);
>  }
>  
>  /* Allocate new optimized_kprobe and try to prepare optimized instructions */
> @@ -731,7 +731,7 @@ static struct kprobe *alloc_aggr_kprobe(struct kprobe *p)
>  
>  	INIT_LIST_HEAD(&op->list);
>  	op->kp.addr = p->addr;
> -	arch_prepare_optimized_kprobe(op);
> +	arch_prepare_optimized_kprobe(op, p);
>  
>  	return &op->kp;
>  }

  reply	other threads:[~2014-12-10 13:23 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-08 14:09 [RESEND][PATCH v15 0/7] ARM: kprobes: OPTPROBES and other improvements Wang Nan
2014-12-08 14:09 ` [RESEND][PATCH v15 1/7] ARM: probes: move all probe code to dedicate directory Wang Nan
2014-12-08 14:09 ` [RESEND][PATCH v15 2/7] ARM: kprobes: introduces checker Wang Nan
2014-12-08 14:09 ` [RESEND][PATCH v15 3/7] ARM: kprobes: collects stack consumption for store instructions Wang Nan
2014-12-08 14:09 ` [RESEND][PATCH v15 4/7] ARM: kprobes: disallow probing stack consuming instructions Wang Nan
2014-12-08 14:09 ` [RESEND][PATCH v15 5/7] ARM: kprobes: Add test cases for " Wang Nan
2014-12-09 16:43   ` [PATCH v2] " Jon Medhurst (Tixy)
2014-12-09 17:11     ` [PATCH v3] " Jon Medhurst (Tixy)
2014-12-10  8:23       ` Wang Nan
2014-12-10 12:34         ` Jon Medhurst (Tixy)
2014-12-10 13:18           ` Wang Nan
2014-12-10 13:49             ` Jon Medhurst (Tixy)
2014-12-11  9:56             ` Wang Nan
2014-12-08 14:09 ` [RESEND][PATCH v15 6/7] kprobes: Pass the original kprobe for preparing optimized kprobe Wang Nan
2014-12-10 13:23   ` Jon Medhurst (Tixy) [this message]
2014-12-08 14:09 ` [RESEND][PATCH v15 7/7] ARM: kprobes: enable OPTPROBES for ARM 32 Wang Nan
2014-12-09  6:47   ` Masami Hiramatsu
2014-12-09  9:14     ` Jon Medhurst (Tixy)
2014-12-09 10:25       ` Masami Hiramatsu
2014-12-09 10:12     ` Wang Nan

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=1418217797.3661.22.camel@linaro.org \
    --to=tixy@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.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 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).