[PATCH] MIPS: KProbes: Use flush_insn_slot() where possible.

David Daney
2010-08-03T21:00:53Z

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
---

This is a small cleanup that could either be folded into the original
3/5 or applied in addition to it.

arch/mips/include/asm/kprobes.h | 1 +
arch/mips/kernel/kprobes.c | 11 +++--------
2 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/arch/mips/include/asm/kprobes.h b/arch/mips/include/asm/kprobes.h
index fe58e08..e6ea4d4 100644
--- a/arch/mips/include/asm/kprobes.h
+++ b/arch/mips/include/asm/kprobes.h
@@ -25,6 +25,7 @@
#include <linux/ptrace.h>
#include <linux/types.h>

+#include <asm/cacheflush.h>
#include <asm/kdebug.h>
#include <asm/inst.h>

diff --git a/arch/mips/kernel/kprobes.c b/arch/mips/kernel/kprobes.c
index a74ccd2..ee28683 100644
--- a/arch/mips/kernel/kprobes.c
+++ b/arch/mips/kernel/kprobes.c
@@ -28,7 +28,6 @@
#include <linux/kdebug.h>
#include <linux/slab.h>

-#include <asm/cacheflush.h>
#include <asm/ptrace.h>
#include <asm/break.h>
#include <asm/inst.h>
@@ -151,18 +150,14 @@ out:

void __kprobes arch_arm_kprobe(struct kprobe *p)
{
- *(p->addr) = breakpoint_insn;
- flush_icache_range((unsigned long)p->addr,
- (unsigned long)p->addr +
- (MAX_INSN_SIZE * sizeof(kprobe_opcode_t)));
+ *p->addr = breakpoint_insn;
+ flush_insn_slot(p);
}

void __kprobes arch_disarm_kprobe(struct kprobe *p)
{
*p->addr = p->opcode;
- flush_icache_range((unsigned long)p->addr,
- (unsigned long)p->addr +
- (MAX_INSN_SIZE * sizeof(kprobe_opcode_t)));
+ flush_insn_slot(p);
}

void __kprobes arch_remove_kprobe(struct kprobe *p)
--
1.7.1.1