[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <53FF0D6D.9080302@huawei.com>
Date: Thu, 28 Aug 2014 19:07:25 +0800
From: Wang Nan <wangnan0@...wei.com>
To: Masami Hiramatsu <masami.hiramatsu.pt@...achi.com>
CC: Russell King <linux@....linux.org.uk>,
"David A. Long" <dave.long@...aro.org>,
Jon Medhurst <tixy@...aro.org>,
Taras Kondratiuk <taras.kondratiuk@...aro.org>,
Ben Dooks <ben.dooks@...ethink.co.uk>,
"Ananth N Mavinakayanahalli" <ananth@...ibm.com>,
Anil S Keshavamurthy <anil.s.keshavamurthy@...el.com>,
"David S. Miller" <davem@...emloft.net>,
Will Deacon <will.deacon@....com>,
Pei Feiyue <peifeiyue@...wei.com>,
<linux-arm-kernel@...ts.infradead.org>,
<linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v5 2/3] kprobes: copy ainsn after alloc aggr kprobe
On 2014/8/28 17:39, Masami Hiramatsu wrote:
> (2014/08/27 22:02), Wang Nan wrote:
>> Copy old kprobe to newly alloced optimized_kprobe before
>> arch_prepare_optimized_kprobe(). Original kprove can brings more
>> information to optimizer.
>>
>> Signed-off-by: Wang Nan <wangnan0@...wei.com>
>> Cc: Russell King <linux@....linux.org.uk>
>> Cc: "David A. Long" <dave.long@...aro.org>
>> Cc: Jon Medhurst <tixy@...aro.org>
>> Cc: Taras Kondratiuk <taras.kondratiuk@...aro.org>
>> Cc: Ben Dooks <ben.dooks@...ethink.co.uk>
>> Cc: Ananth N Mavinakayanahalli <ananth@...ibm.com>
>> Cc: Anil S Keshavamurthy <anil.s.keshavamurthy@...el.com>
>> Cc: "David S. Miller" <davem@...emloft.net>
>> Cc: Masami Hiramatsu <masami.hiramatsu.pt@...achi.com>
>> Cc: Will Deacon <will.deacon@....com>
>> ---
>> kernel/kprobes.c | 7 ++++++-
>> 1 file changed, 6 insertions(+), 1 deletion(-)
>>
>> diff --git a/kernel/kprobes.c b/kernel/kprobes.c
>> index 3995f54..33cf568 100644
>> --- a/kernel/kprobes.c
>> +++ b/kernel/kprobes.c
>> @@ -730,7 +730,12 @@ static struct kprobe *alloc_aggr_kprobe(struct kprobe *p)
>> return NULL;
>>
>> INIT_LIST_HEAD(&op->list);
>> - op->kp.addr = p->addr;
>
> Do not remove this, since copy_kprobe() doesn't copy kp.addr.
>
> static inline void copy_kprobe(struct kprobe *ap, struct kprobe *p)
> {
> memcpy(&p->opcode, &ap->opcode, sizeof(kprobe_opcode_t));
> memcpy(&p->ainsn, &ap->ainsn, sizeof(struct arch_specific_insn));
> }
>
> Thank you,
>
It is my fault. I'll fix it in next version.
Thank you for your comment!
>> +
>> + /*
>> + * copy gives arch_prepare_optimized_kprobe
>> + * more information
>> + */
>> + copy_kprobe(p, &op->kp);
>> arch_prepare_optimized_kprobe(op);
>>
>> return &op->kp;
>>
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists