|
@@ -440,7 +440,7 @@ static int __kprobes trampoline_probe_handler(struct kprobe *p,
|
|
|
{
|
|
|
struct kretprobe_instance *ri = NULL;
|
|
|
struct hlist_head *head, empty_rp;
|
|
|
- struct hlist_node *node, *tmp;
|
|
|
+ struct hlist_node *tmp;
|
|
|
unsigned long flags, orig_ret_address = 0;
|
|
|
unsigned long trampoline_address = (unsigned long)&kretprobe_trampoline;
|
|
|
|
|
@@ -460,7 +460,7 @@ static int __kprobes trampoline_probe_handler(struct kprobe *p,
|
|
|
* real return address, and all the rest will point to
|
|
|
* kretprobe_trampoline
|
|
|
*/
|
|
|
- hlist_for_each_entry_safe(ri, node, tmp, head, hlist) {
|
|
|
+ hlist_for_each_entry_safe(ri, tmp, head, hlist) {
|
|
|
if (ri->task != current)
|
|
|
/* another task is sharing our hash bucket */
|
|
|
continue;
|
|
@@ -488,7 +488,7 @@ static int __kprobes trampoline_probe_handler(struct kprobe *p,
|
|
|
kretprobe_hash_unlock(current, &flags);
|
|
|
preempt_enable_no_resched();
|
|
|
|
|
|
- hlist_for_each_entry_safe(ri, node, tmp, &empty_rp, hlist) {
|
|
|
+ hlist_for_each_entry_safe(ri, tmp, &empty_rp, hlist) {
|
|
|
hlist_del(&ri->hlist);
|
|
|
kfree(ri);
|
|
|
}
|