Subject: Re: [PATCH v1 2/8] powerpc/kprobes: Move kprobes over to patch_instruction

From: Balbir Singh <[email-masked]>
Date: Tue, 30 May 2017 08:11:06 +1000

On Mon, 2017-05-29 at 10:50 +0200, Christophe LEROY wrote:
> 
> Le 25/05/2017 à 05:36, Balbir Singh a écrit :
> > arch_arm/disarm_probe use direct assignment for copying
> > instructions, replace them with patch_instruction
> > 
> > Signed-off-by: Balbir Singh <[email-masked]>
> > ---
> >   arch/powerpc/kernel/kprobes.c | 4 ++--
> >   1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/arch/powerpc/kernel/kprobes.c b/arch/powerpc/kernel/kprobes.c
> > index 160ae0f..5e1fa86 100644
> > --- a/arch/powerpc/kernel/kprobes.c
> > +++ b/arch/powerpc/kernel/kprobes.c
> > @@ -158,7 +158,7 @@ NOKPROBE_SYMBOL(arch_prepare_kprobe);
> >   
> >   void arch_arm_kprobe(struct kprobe *p)
> >   {
> > -	*p->addr = BREAKPOINT_INSTRUCTION;
> > +	patch_instruction(p->addr, BREAKPOINT_INSTRUCTION);
> >   	flush_icache_range((unsigned long) p->addr,
> >   			   (unsigned long) p->addr + sizeof(kprobe_opcode_t));
> >   }
> > @@ -166,7 +166,7 @@ NOKPROBE_SYMBOL(arch_arm_kprobe);
> >   
> >   void arch_disarm_kprobe(struct kprobe *p)
> >   {
> > -	*p->addr = p->opcode;
> > +	patch_instruction(p->addr, BREAKPOINT_INSTRUCTION);
> 
> Shouldn't it be the following instead ?
> 
> patch_instruction(p->addr, p->opcode);

Yes, thanks for catching this!  I'll do a v2 on top of what you
posted.

Balbir Singh