Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 63ce18cf authored by Mike Galbraith's avatar Mike Galbraith Committed by Greg Kroah-Hartman
Browse files

driver core: refcounting fix



Fix a reference counting bug exposed by commit
725522b5.  If driver.mod_name exists, we
take a reference in module_add_driver(), and never release it.  Undo that
reference in module_remove_driver().

Signed-off-by: default avatarMike Galbraith <efault@gmx.de>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 40cf67c5
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -2425,6 +2425,12 @@ void module_remove_driver(struct device_driver *drv)
			kfree(driver_name);
		}
	}
	/*
	 * Undo the additional reference we added in module_add_driver()
	 * via kset_find_obj()
	 */
	if (drv->mod_name)
		kobject_put(&drv->kobj);
}
EXPORT_SYMBOL(module_remove_driver);
#endif