Messages in this thread Patch in this message | | | Date | Wed, 19 Nov 2008 18:02:29 -0500 | From | Masami Hiramatsu <> | Subject | [PATCH -mm] bugfix: release old_p's insn_slot before error return |
| |
Hi Andrew,
akpm@linux-foundation.org wrote: > The patch titled > bugfix: pass aggr_kprobe to arch_remove_kprobe > has been added to the -mm tree. Its filename is > kprobes-support-probing-module-__exit-function-fix-2.patch
Oops, sorry, I found one another bug...
Release old_p->ainsn.insn_slot before error return, if the memory allocation of new aggr_kprobe is failed.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com> Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com> --- kernel/kprobes.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
Index: 2.6.28-rc4/kernel/kprobes.c =================================================================== --- 2.6.28-rc4.orig/kernel/kprobes.c +++ 2.6.28-rc4/kernel/kprobes.c @@ -584,8 +584,11 @@ static int __kprobes register_aggr_kprob ap = old_p; } else { ap = kzalloc(sizeof(struct kprobe), GFP_KERNEL); - if (!ap) + if (!ap) { + if (kprobe_gone(old_p)) + arch_remove_kprobe(old_p); return -ENOMEM; + } add_aggr_kprobe(ap, old_p); copy_kprobe(ap, p); ret = add_new_kprobe(ap, p);
-- Masami Hiramatsu
Software Engineer Hitachi Computer Products (America) Inc. Software Solutions Division
e-mail: mhiramat@redhat.com
| |