Messages in this thread | | | Date | Tue, 25 Sep 2007 15:53:30 -0700 | From | Greg KH <> | 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |