Instead of using memcpy() and flush_icache_range() use
patch_instruction() which not only accomplishes both of these steps but
will also make it easier to add support for prefixed instructions.

Signed-off-by: Jordan Niethe <jniet...@gmail.com>
---
v6: New to series.
---
 arch/powerpc/kernel/kprobes.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/arch/powerpc/kernel/kprobes.c b/arch/powerpc/kernel/kprobes.c
index 17ad844e24f5..ff53e5ef7e40 100644
--- a/arch/powerpc/kernel/kprobes.c
+++ b/arch/powerpc/kernel/kprobes.c
@@ -125,11 +125,8 @@ int arch_prepare_kprobe(struct kprobe *p)
        }
 
        if (!ret) {
-               memcpy(p->ainsn.insn, p->addr,
-                               MAX_INSN_SIZE * sizeof(kprobe_opcode_t));
+               patch_instruction((struct ppc_inst *)p->ainsn.insn, insn);
                p->opcode = ppc_inst_val(insn);
-               flush_icache_range((unsigned long)p->ainsn.insn,
-                       (unsigned long)p->ainsn.insn + sizeof(kprobe_opcode_t));
        }
 
        p->ainsn.boostable = 0;
-- 
2.17.1

Reply via email to