kobject: Temporarily save k_name on cleanup for debug message.

Cornelia Huck
2007-09-20T07:44:09Z

On Wed, 19 Sep 2007 20:02:05 +0200,
Cornelia Huck <cornelia.huck@de.ibm.com> wrote:

> > kobject drivers: cleaning up
> > kobject '<NULL>' does not have a release() function, if this is not a directory kobject, it is broken and must be fixed.
>
> <Unrelated side note: We should probably save the kobject's name for
> printing this debug message, it looks a bit odd :)>

kobject: Temporarily save k_name on cleanup for debug message.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>

---
lib/kobject.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)

--- linux-2.6.orig/lib/kobject.c
+++ linux-2.6/lib/kobject.c
@@ -498,9 +498,9 @@ void kobject_cleanup(struct kobject * ko
struct kobj_type * t = get_ktype(kobj);
struct kset * s = kobj->kset;
struct kobject * parent = kobj->parent;
+ const char *k_name = kobj->k_name;

pr_debug("kobject %s: cleaning up\n",kobject_name(kobj));
- kfree(kobj->k_name);
kobj->k_name = NULL;
if (t && t->release)
t->release(kobj);
@@ -508,8 +508,8 @@ void kobject_cleanup(struct kobject * ko
pr_debug("kobject '%s' does not have a release() function, "
"if this is not a directory kobject, it is broken "
"and must be fixed.\n",
- kobject_name(kobj));
-
+ k_name);
+ kfree(k_name);
if (s)
kset_put(s);
kobject_put(parent);