On Tue, 25 Sep 2007 19:41:21 -0700,
Greg KH <[EMAIL PROTECTED]> wrote:

> Ok, here's a patch that fixes this for me.  It should go on top of the
> -mm tree.  Let me know of this works or not.

Looks sane to me.

> In the end, we need to dynamically allocate these subsystems to properly
> fix this.  In looking through the tree, there really isn't that many of
> them, so I'll try to knock that out later this week.

What they need at least is a dynamically allocated k_name. Same goes
for all those objects that use set_kset_name(), and there are quite a
few of those...

> 
> 
> thanks,
> 
> greg k-h
> 
> ---
>  lib/kobject.c |    8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> --- a/lib/kobject.c
> +++ b/lib/kobject.c
> @@ -487,11 +487,11 @@ void kobject_cleanup(struct kobject * ko
>       struct kobject * parent = kobj->parent;
> 
>       pr_debug("kobject %s: cleaning up\n",kobject_name(kobj));
> -     kfree(kobj->k_name);
> -     kobj->k_name = NULL;
> -     if (t && t->release)
> +     if (t && t->release) {
>               t->release(kobj);
> -     else
> +             kfree(kobj->k_name);
> +             kobj->k_name = NULL;
> +     } else
>               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",
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to