[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070925225330.GA26235@kroah.com>
Date: Tue, 25 Sep 2007 15:53:30 -0700
From: Greg KH <greg@...ah.com>
To: Miklos Szeredi <miklos@...redi.hu>
Cc: akpm@...ux-foundation.org, linux-kernel@...r.kernel.org
Subject: Re: subsystem_unregister() breakage in -mm
On Wed, Sep 26, 2007 at 12:27:14AM +0200, Miklos Szeredi wrote:
> I get "BUG: failure at mm/slab.c:591/page_get_cache()!" in latest -mm
> when removing the fuse module.
>
> This patch titled "kobject: remove the static array for the name"
> looks like it's responsible. Reverting it cures the problem.
>
> The root of the problem seems to be, that decl_subsys() initializes
> k_name with a string constant. Then subsystem_unregister() will put
> the kobject, which will free the k_name.
>
> So, what's the right way to deal with this?
How is the static kobject created by decl_subsys() getting it's release
function called when it is never really "released" as it is a static
kobject?
The "correct" way to fix this is to dynamically create the subsystem
kobject, and is what I am working toward accomplishing. But I didn't
think it was necessary just yet.
Let me go dig some more...
thanks,
greg k-h
-
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