diff options
author | Patrick Mochel <mochel@osdl.org> | 2003-09-02 00:31:00 -0700 |
---|---|---|
committer | Patrick Mochel <mochel@osdl.org> | 2003-09-02 00:31:00 -0700 |
commit | 32a06967e145fe7c0744391d0ff444a840a55230 (patch) | |
tree | 28d1c98d7a16819507301a524c71bf9eb2d4375b /lib | |
parent | 8cc21ee6057eb7c87d96cbf9f3b9de4e8170df87 (diff) | |
download | history-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.c | 6 |
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; } /** |