aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorAnil S Keshavamurthy <anil.s.keshavamurthy@intel.com>2006-01-09 23:52:45 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-10 11:01:40 -0500
commite597c2984c64609c6e1e1ac803f00f7550705860 (patch)
tree199bac97827782dcd73283018ec5692b63812fac /arch
parentf709b122343fb9a010b6cf2d5559641f1820f7c9 (diff)
[PATCH] kprobes: arch_remove_kprobe
Currently arch_remove_kprobes() is only implemented/required for x86_64 and powerpc. All other architecture like IA64, i386 and sparc64 implementes a dummy function which is being called from arch independent kprobes.c file. This patch removes the dummy functions and replaces it with #define arch_remove_kprobe(p, s) do { } while(0) Signed-off-by: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/i386/kernel/kprobes.c4
-rw-r--r--arch/ia64/kernel/kprobes.c4
-rw-r--r--arch/powerpc/kernel/kprobes.c4
-rw-r--r--arch/sparc64/kernel/kprobes.c4
-rw-r--r--arch/x86_64/kernel/kprobes.c4
5 files changed, 6 insertions, 14 deletions
diff --git a/arch/i386/kernel/kprobes.c b/arch/i386/kernel/kprobes.c
index 68fe10250486..2f372dbd34fd 100644
--- a/arch/i386/kernel/kprobes.c
+++ b/arch/i386/kernel/kprobes.c
@@ -77,10 +77,6 @@ void __kprobes arch_disarm_kprobe(struct kprobe *p)
77 (unsigned long) p->addr + sizeof(kprobe_opcode_t)); 77 (unsigned long) p->addr + sizeof(kprobe_opcode_t));
78} 78}
79 79
80void __kprobes arch_remove_kprobe(struct kprobe *p)
81{
82}
83
84static inline void save_previous_kprobe(struct kprobe_ctlblk *kcb) 80static inline void save_previous_kprobe(struct kprobe_ctlblk *kcb)
85{ 81{
86 kcb->prev_kprobe.kp = kprobe_running(); 82 kcb->prev_kprobe.kp = kprobe_running();
diff --git a/arch/ia64/kernel/kprobes.c b/arch/ia64/kernel/kprobes.c
index 89a70400c4f6..4de7f6759093 100644
--- a/arch/ia64/kernel/kprobes.c
+++ b/arch/ia64/kernel/kprobes.c
@@ -467,10 +467,6 @@ void __kprobes arch_disarm_kprobe(struct kprobe *p)
467 flush_icache_range(arm_addr, arm_addr + sizeof(bundle_t)); 467 flush_icache_range(arm_addr, arm_addr + sizeof(bundle_t));
468} 468}
469 469
470void __kprobes arch_remove_kprobe(struct kprobe *p)
471{
472}
473
474/* 470/*
475 * We are resuming execution after a single step fault, so the pt_regs 471 * We are resuming execution after a single step fault, so the pt_regs
476 * structure reflects the register state after we executed the instruction 472 * structure reflects the register state after we executed the instruction
diff --git a/arch/powerpc/kernel/kprobes.c b/arch/powerpc/kernel/kprobes.c
index 2cd32dd6898b..93444e32fccd 100644
--- a/arch/powerpc/kernel/kprobes.c
+++ b/arch/powerpc/kernel/kprobes.c
@@ -80,9 +80,11 @@ void __kprobes arch_disarm_kprobe(struct kprobe *p)
80 (unsigned long) p->addr + sizeof(kprobe_opcode_t)); 80 (unsigned long) p->addr + sizeof(kprobe_opcode_t));
81} 81}
82 82
83void __kprobes arch_remove_kprobe(struct kprobe *p) 83void __kprobes arch_remove_kprobe(struct kprobe *p, struct semaphore *s)
84{ 84{
85 down(s);
85 free_insn_slot(p->ainsn.insn); 86 free_insn_slot(p->ainsn.insn);
87 up(s);
86} 88}
87 89
88static inline void prepare_singlestep(struct kprobe *p, struct pt_regs *regs) 90static inline void prepare_singlestep(struct kprobe *p, struct pt_regs *regs)
diff --git a/arch/sparc64/kernel/kprobes.c b/arch/sparc64/kernel/kprobes.c
index bbd5aa6818ea..ff5e9d5cad50 100644
--- a/arch/sparc64/kernel/kprobes.c
+++ b/arch/sparc64/kernel/kprobes.c
@@ -61,10 +61,6 @@ void __kprobes arch_disarm_kprobe(struct kprobe *p)
61 flushi(p->addr); 61 flushi(p->addr);
62} 62}
63 63
64void __kprobes arch_remove_kprobe(struct kprobe *p)
65{
66}
67
68static inline void save_previous_kprobe(struct kprobe_ctlblk *kcb) 64static inline void save_previous_kprobe(struct kprobe_ctlblk *kcb)
69{ 65{
70 kcb->prev_kprobe.kp = kprobe_running(); 66 kcb->prev_kprobe.kp = kprobe_running();
diff --git a/arch/x86_64/kernel/kprobes.c b/arch/x86_64/kernel/kprobes.c
index 128e18190f99..61a6a9369cbd 100644
--- a/arch/x86_64/kernel/kprobes.c
+++ b/arch/x86_64/kernel/kprobes.c
@@ -220,9 +220,11 @@ void __kprobes arch_disarm_kprobe(struct kprobe *p)
220 (unsigned long) p->addr + sizeof(kprobe_opcode_t)); 220 (unsigned long) p->addr + sizeof(kprobe_opcode_t));
221} 221}
222 222
223void __kprobes arch_remove_kprobe(struct kprobe *p) 223void __kprobes arch_remove_kprobe(struct kprobe *p, struct semaphore *s)
224{ 224{
225 down(s);
225 free_insn_slot(p->ainsn.insn); 226 free_insn_slot(p->ainsn.insn);
227 up(s);
226} 228}
227 229
228static inline void save_previous_kprobe(struct kprobe_ctlblk *kcb) 230static inline void save_previous_kprobe(struct kprobe_ctlblk *kcb)