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

Commit c1ebdae5 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

kobject: catch kobjects that are not initialized



Add warnings to kobject_put() to catch kobjects that are cleaned up but
were never initialized to begin with.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Hannes Reinecke <hare@suse.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 3925e6fc
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -592,9 +592,16 @@ static void kobject_release(struct kref *kref)
 */
void kobject_put(struct kobject *kobj)
{
	if (kobj)
	if (kobj) {
		if (!kobj->state_initialized) {
			printk(KERN_WARNING "kobject: '%s' (%p): is not "
			       "initialized, yet kobject_put() is being "
			       "called.\n", kobject_name(kobj), kobj);
			WARN_ON(1);
		}
		kref_put(&kobj->kref, kobject_release);
	}
}

static void dynamic_kobj_release(struct kobject *kobj)
{