Re: [PATCH 1/1] bridge: mdb: report complete_info ptr as not a kmemleak

From: Eduardo Valentin
Date: Wed Jul 05 2017 - 12:05:29 EST


On Tue, Jul 04, 2017 at 01:48:42AM -0700, David Miller wrote:
> From: Eduardo Valentin <eduval@xxxxxxxxxx>
> Date: Mon, 3 Jul 2017 10:06:34 -0700
>
> > We currently get the following kmemleak report:
> ...
> > This patch flags the complete_info ptr object as not a leak as it will
> > get freed when .complete_priv() is called,
>
> We don't call .complete_priv(). We call .complete().

True, I can fix this wording in the commit next version.

>
> for the br mdb case, it
> > will be freed at br_mdb_complete().
> >
> > Cc: stable <stable@xxxxxxxxxxxxxxx> # v4.9+
> > Reviewed-by: Vallish Vaidyeshwara <vallish@xxxxxxxxxx>
> > Signed-off-by: Eduardo Valentin <eduval@xxxxxxxxxx>
>
> I don't understand why kmemleak cannot see this.
>
> We store the pointer globally when we do the switchdev_port_obv_add()
> call and it should be able to see that.

I see and agree. But even then I get these reports consistently on RTM_NEWMDB type.
This is why I am proposing marking as a non-kmemleak.

To me, this is only a leak if .complete() never gets called.


--
All the best,
Eduardo Valentin