aboutsummaryrefslogtreecommitdiff
path: root/kernel/kprobes.c
diff options
context:
space:
mode:
authorTony Lindgren <tony@atomide.com>2012-02-17 15:08:20 -0800
committerTony Lindgren <tony@atomide.com>2012-02-17 15:08:20 -0800
commitb0ee4e394009f02a1d1b166091a19e8b842b4ea4 (patch)
tree75e6df725e5402ed6fe9d78f23bf5cf45cfdf9d9 /kernel/kprobes.c
parentabe763f2bccbc592d33a3a9c334acaefea022c0a (diff)
parent03e4fd6eb25e6b46536ecdb0d1b7d33d46b15480 (diff)
Merge branch 'for_3.3/fixes/pm' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into fixes
Diffstat (limited to 'kernel/kprobes.c')
-rw-r--r--kernel/kprobes.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/kprobes.c b/kernel/kprobes.c
index 29f5b65bee2..9788c0ec6f4 100644
--- a/kernel/kprobes.c
+++ b/kernel/kprobes.c
@@ -1673,8 +1673,12 @@ static int __kprobes pre_handler_kretprobe(struct kprobe *p,
ri->rp = rp;
ri->task = current;
- if (rp->entry_handler && rp->entry_handler(ri, regs))
+ if (rp->entry_handler && rp->entry_handler(ri, regs)) {
+ raw_spin_lock_irqsave(&rp->lock, flags);
+ hlist_add_head(&ri->hlist, &rp->free_instances);
+ raw_spin_unlock_irqrestore(&rp->lock, flags);
return 0;
+ }
arch_prepare_kretprobe(ri, regs);