]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - kernel/kprobes.c
kprobes: initialize before using a hlist
[karo-tx-linux.git] / kernel / kprobes.c
index 5240d75f4c60e95f95eb55e0cc46b448e2d6eb7c..176d8255c683aca7a5485b43d7f68ac2ac49730e 100644 (file)
@@ -466,6 +466,7 @@ void __kprobes kprobe_flush_task(struct task_struct *tk)
                /* Early boot.  kretprobe_table_locks not yet initialized. */
                return;
 
+       INIT_HLIST_HEAD(&empty_rp);
        hash = hash_ptr(tk, KPROBE_HASH_BITS);
        head = &kretprobe_inst_table[hash];
        kretprobe_table_lock(hash, &flags);
@@ -474,7 +475,6 @@ void __kprobes kprobe_flush_task(struct task_struct *tk)
                        recycle_rp_inst(ri, &empty_rp);
        }
        kretprobe_table_unlock(hash, &flags);
-       INIT_HLIST_HEAD(&empty_rp);
        hlist_for_each_entry_safe(ri, node, tmp, &empty_rp, hlist) {
                hlist_del(&ri->hlist);
                kfree(ri);