On Wed, Jul 05, 2017 at 09:05:14AM -0700, Eduardo Valentin wrote: > 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. Ok. So, in fact, I believe the problem I am seeing in more when switchdev_port_obj_add() fails. I will send a patch for that. > > > -- > All the best, > Eduardo Valentin -- All the best, Eduardo Valentin