Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 1 Aug 2019 17:28:36 +0000 (UTC)
From:      Eric Joyner <erj@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r350507 - head/sys/net
Message-ID:  <201908011728.x71HSaBb046470@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: erj
Date: Thu Aug  1 17:28:36 2019
New Revision: 350507
URL: https://svnweb.freebsd.org/changeset/base/350507

Log:
  iflib: remove kobject class reference increment
  
  Commit message from Jake:
  In iflib_register, the context is initialized as a kobject using the
  device driver's "driver" kobject class. As part of this, the function
  mistakenly increments the ref counter.
  
  The ref counter is incremented twice, once in the code directly, and
  once again by kobj_class_compile. However, there is no associated
  decrement in the detach path. Because of this, the ref counter will
  never go back down to zero, and thus the kobject method table will never
  be released.
  
  Remove this unnecessary reference count increment.
  
  Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
  
  Submitted by:	Jacob Keller <jacob.e.keller@intel.com>
  Reviewed by:	jhb@, erj@
  MFC after:	3 days
  Sponsored by:	Intel Corporation
  Differential Revision:	https://reviews.freebsd.org/D21125

Modified:
  head/sys/net/iflib.c

Modified: head/sys/net/iflib.c
==============================================================================
--- head/sys/net/iflib.c	Thu Aug  1 17:02:58 2019	(r350506)
+++ head/sys/net/iflib.c	Thu Aug  1 17:28:36 2019	(r350507)
@@ -5342,7 +5342,6 @@ iflib_register(if_ctx_t ctx)
 	 */
 	kobj_init((kobj_t) ctx, (kobj_class_t) driver);
 	kobj_class_compile((kobj_class_t) driver);
-	driver->refs++;
 
 	if_initname(ifp, device_get_name(dev), device_get_unit(dev));
 	if_setsoftc(ifp, ctx);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201908011728.x71HSaBb046470>