aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386/kernel/kprobes.c
diff options
context:
space:
mode:
authorHien Nguyen <hien@us.ibm.com>2005-06-23 03:09:26 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-23 12:45:21 -0400
commit0aa55e4d7db822059fe8132fe9f2b7773c48216c (patch)
tree84075ac377f29f393aff802f00def309a98bcf40 /arch/i386/kernel/kprobes.c
parent7e1048b11c5afe79aac46a42e3ccec86b8365c6d (diff)
[PATCH] kprobes: moves lock-unlock to non-arch kprobe_flush_task
This patch moves the lock/unlock of the arch specific kprobe_flush_task() to the non-arch specific kprobe_flusk_task(). Signed-off-by: Hien Nguyen <hien@us.ibm.com> Acked-by: Prasanna S Panchamukhi <prasanna@in.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/i386/kernel/kprobes.c')
-rw-r--r--arch/i386/kernel/kprobes.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/arch/i386/kernel/kprobes.c b/arch/i386/kernel/kprobes.c
index 2314d8d306fd..b8e2bae0ab4f 100644
--- a/arch/i386/kernel/kprobes.c
+++ b/arch/i386/kernel/kprobes.c
@@ -138,17 +138,14 @@ void arch_prepare_kretprobe(struct kretprobe *rp, struct pt_regs *regs)
138 } 138 }
139} 139}
140 140
141void arch_kprobe_flush_task(struct task_struct *tk, spinlock_t *kp_lock) 141void arch_kprobe_flush_task(struct task_struct *tk)
142{ 142{
143 unsigned long flags = 0;
144 struct kretprobe_instance *ri; 143 struct kretprobe_instance *ri;
145 spin_lock_irqsave(kp_lock, flags);
146 while ((ri = get_rp_inst_tsk(tk)) != NULL) { 144 while ((ri = get_rp_inst_tsk(tk)) != NULL) {
147 *((unsigned long *)(ri->stack_addr)) = 145 *((unsigned long *)(ri->stack_addr)) =
148 (unsigned long) ri->ret_addr; 146 (unsigned long) ri->ret_addr;
149 recycle_rp_inst(ri); 147 recycle_rp_inst(ri);
150 } 148 }
151 spin_unlock_irqrestore(kp_lock, flags);
152} 149}
153 150
154/* 151/*