Re: [PATCH 2/2] tracing: Fix kmemleak in set_trigger_filter

From: Chunyu Hu
Date: Thu Aug 24 2017 - 00:24:54 EST




----- Original Message -----
> From: "Steven Rostedt" <rostedt@xxxxxxxxxxx>
> To: "Chunyu Hu" <chuhu@xxxxxxxxxx>
> Cc: mingo@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
> Sent: Thursday, August 24, 2017 10:15:41 AM
> Subject: Re: [PATCH 2/2] tracing: Fix kmemleak in set_trigger_filter
>
> On Wed, 23 Aug 2017 18:58:03 -0400 (EDT)
> Chunyu Hu <chuhu@xxxxxxxxxx> wrote:
>
> > ----- Original Message -----
> > > From: "Steven Rostedt" <rostedt@xxxxxxxxxxx>
> > > To: "Chunyu Hu" <chuhu@xxxxxxxxxx>
> > > Cc: mingo@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
> > > Sent: Wednesday, August 23, 2017 12:52:49 PM
> > > Subject: Re: [PATCH 2/2] tracing: Fix kmemleak in set_trigger_filter
> > >
> > > On Wed, 23 Aug 2017 10:41:55 -0400
> > > Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> > >
> > > > * On success, returns 0 and *@filterp points to the new filter. On
> > > > * failure, returns -errno and *@filterp may point to %NULL or to a new
> > > > * filter. In the latter case, the returned filter contains error
> > > > * information if @set_str is %true and the caller is responsible for
> > > > * freeing it.
> > > >
> > > > So filter contains an error string when it fails. It seems that we
> > > > should somehow propagate that up the chain to display. I'll look more
> > > > into this.
> > >
> > > The bug is in create_filter(), because "set_str" is set to false, and
> > > the filter should not be passed back allocated on error.
> >
> > Thanks for all the analysis. I think you are right. I'll try to have a test
> > on it
> > in case we miss something. But please don't block on my test.
> >
>
> My tests are almost done, but I wont send anything till tomorrow. I can
> wait a day to post. There's a few other changes I need to send to Linus
> as well.

Tested with your patch, I did not hit the leak issue and other kmemleak.
Thanks.

>
> -- Steve
>

--
Regards,
Chunyu Hu