From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751185AbYDTKkD (ORCPT ); Sun, 20 Apr 2008 06:40:03 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1750886AbYDTKjw (ORCPT ); Sun, 20 Apr 2008 06:39:52 -0400 Received: from pentafluge.infradead.org ([213.146.154.40]:56240 "EHLO pentafluge.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750828AbYDTKjw (ORCPT ); Sun, 20 Apr 2008 06:39:52 -0400 From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , Kay Sievers , Hannes Reinecke Subject: [PATCH 01/36] kobject: catch kobjects that are not initialized Date: Sun, 20 Apr 2008 03:45:31 -0700 Message-Id: <1208688366-9252-1-git-send-email-gregkh@suse.de> X-Mailer: git-send-email 1.5.4.5 In-Reply-To: <20080420104516.GA9225@suse.de> References: <20080420104516.GA9225@suse.de> X-Bad-Reply: References and In-Reply-To but no 'Re:' in Subject. Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 files changed, 8 insertions(+), 1 deletions(-) diff --git a/lib/kobject.c b/lib/kobject.c index 0d03252..60ae9e8 100644 --- a/lib/kobject.c +++ b/lib/kobject.c @@ -592,8 +592,15 @@ 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) -- 1.5.4.5