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/kobject.c | |
| parent | 8cc21ee6057eb7c87d96cbf9f3b9de4e8170df87 (diff) | |
[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/kobject.c')
| -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 da584e054282..667b540f2652 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; } /** |
