diff options
author | Hien Nguyen <hien@us.ibm.com> | 2005-06-23 03:09:26 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-23 12:45:21 -0400 |
commit | 0aa55e4d7db822059fe8132fe9f2b7773c48216c (patch) | |
tree | 84075ac377f29f393aff802f00def309a98bcf40 /arch/i386/kernel/kprobes.c | |
parent | 7e1048b11c5afe79aac46a42e3ccec86b8365c6d (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.c | 5 |
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 | ||
141 | void arch_kprobe_flush_task(struct task_struct *tk, spinlock_t *kp_lock) | 141 | void 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 | /* |