Re: [PATCH 3/5] ftrace: add ftrace_bprintk()

From: Steven Rostedt
Date: Mon Mar 02 2009 - 12:53:37 EST



On Mon, 2 Mar 2009, Fr?d?ric Weisbecker wrote:
> >> +
> >> +static
> >> +void release_module_trace_bprintk_format(const char **start, const char **end)
> >> +{
> >> +     const char **iter;
> >> +     lock_btrace();
> >> +     for (iter = start; iter < end; iter++) {
> >> +             struct trace_bprintk_fmt *tb_fmt;
> >> +             if (!*iter)
> >> +                     continue;
> >> +
> >> +             tb_fmt = container_of(*iter, struct trace_bprintk_fmt, fmt[0]);
> >> +             tb_fmt->count--;
> >> +             if (!tb_fmt->count && !btrace_metadata_count) {
> >> +                     list_del(&tb_fmt->list);
> >> +                     kfree(tb_fmt);
> >
> > Shouldn't *iter get assigned to NULL somewhere here?
> >
> > -- Steve
>
>
> Hm, why?

Well, after we free tb_fmt, the *iter will then point to garbage. Right?

-- Steve