* [PATCH] kprobes: initialize before using a hlist
@ 2012-01-09 7:48 Ananth N Mavinakayanahalli
0 siblings, 0 replies; only message in thread
From: Ananth N Mavinakayanahalli @ 2012-01-09 7:48 UTC (permalink / raw)
To: lkml, stable; +Cc: Jim Keniston, Masami Hiramatsu
From: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Commit ef53d9c5e introduced a bug where we can potentially leak
kretprobe_instances since we initialize a hlist head after having
used it.
Initialize the hlist head before using it.
Reported by: Jim Keniston <jkenisto@us.ibm.com>
Signed-off-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
CC: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
CC: <stable@kernel.org>
---
kernel/kprobes.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: linux-3.2/kernel/kprobes.c
===================================================================
--- linux-3.2.orig/kernel/kprobes.c
+++ linux-3.2/kernel/kprobes.c
@@ -1077,6 +1077,7 @@ void __kprobes kprobe_flush_task(struct
/* 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);
@@ -1085,7 +1086,6 @@ void __kprobes kprobe_flush_task(struct
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);
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2012-01-09 7:48 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-01-09 7:48 [PATCH] kprobes: initialize before using a hlist Ananth N Mavinakayanahalli
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome