From foo@baz Tue Apr 9 12:12:43 2002 Date: Tue, 26 Feb 2008 09:36:38 -0800 (PST) To: Greg KH From: Greg Kroah-Hartman Subject: 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 Cc: Hannes Reinecke Signed-off-by: Greg Kroah-Hartman --- lib/kobject.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) --- a/lib/kobject.c +++ b/lib/kobject.c @@ -592,8 +592,15 @@ static void kobject_release(struct 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)