aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorPatrick Mochel <mochel@osdl.org>2003-09-02 00:31:00 -0700
committerPatrick Mochel <mochel@osdl.org>2003-09-02 00:31:00 -0700
commit32a06967e145fe7c0744391d0ff444a840a55230 (patch)
tree28d1c98d7a16819507301a524c71bf9eb2d4375b /lib
parent8cc21ee6057eb7c87d96cbf9f3b9de4e8170df87 (diff)
downloadhistory-32a06967e145fe7c0744391d0ff444a840a55230.tar.gz
[kobject] Don't use kobject->k_name after it's been freed.
Bah, stupid mistake. After you call ->release(), you cannot touch the object.
Diffstat (limited to 'lib')
-rw-r--r--lib/kobject.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/kobject.c b/lib/kobject.c
index da584e054282a9..667b540f26528b 100644
--- a/lib/kobject.c
+++ b/lib/kobject.c
@@ -445,13 +445,13 @@ void kobject_cleanup(struct kobject * kobj)
struct kset * s = kobj->kset;
pr_debug("kobject %s: cleaning up\n",kobject_name(kobj));
+ if (kobj->k_name != kobj->name)
+ kfree(kobj->k_name);
+ kobj->k_name = NULL;
if (t && t->release)
t->release(kobj);
if (s)
kset_put(s);
- if (kobj->k_name != kobj->name)
- kfree(kobj->k_name);
- kobj->k_name = NULL;
}
/**