David Miller
2017-Jul-04 08:48 UTC
[Bridge] [PATCH 1/1] bridge: mdb: report complete_info ptr as not a kmemleak
From: Eduardo Valentin <eduval at amazon.com> 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(). for the br mdb case, it> will be freed at br_mdb_complete(). > > Cc: stable <stable at vger.kernel.org> # v4.9+ > Reviewed-by: Vallish Vaidyeshwara <vallish at amazon.com> > Signed-off-by: Eduardo Valentin <eduval at amazon.com>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.
Eduardo Valentin
2017-Jul-05 16:05 UTC
[Bridge] [PATCH 1/1] bridge: mdb: report complete_info ptr as not a kmemleak
On Tue, Jul 04, 2017 at 01:48:42AM -0700, David Miller wrote:> From: Eduardo Valentin <eduval at amazon.com> > 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 at vger.kernel.org> # v4.9+ > > Reviewed-by: Vallish Vaidyeshwara <vallish at amazon.com> > > Signed-off-by: Eduardo Valentin <eduval at amazon.com> > > 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