[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070926092156.2f281eea@gondolin.boeblingen.de.ibm.com>
Date: Wed, 26 Sep 2007 09:21:56 +0200
From: Cornelia Huck <cornelia.huck@...ibm.com>
To: Greg KH <greg@...ah.com>
Cc: Miklos Szeredi <miklos@...redi.hu>, akpm@...ux-foundation.org,
linux-kernel@...r.kernel.org
Subject: Re: subsystem_unregister() breakage in -mm
On Tue, 25 Sep 2007 19:41:21 -0700,
Greg KH <greg@...ah.com> 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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists