On Tue, Mar 07, 2006 at 08:47:44AM -0800, Dave Peterson wrote:
> On Monday 06 March 2006 13:32, Al Viro wrote:
> > On Mon, Mar 06, 2006 at 01:01:37PM -0800, Dave Peterson wrote:
> > > Regarding the above problem with the kobject reference count, this
> > > was recently fixed in the -mm tree (see edac-kobject-sysfs-fixes.patch
> > > in 2.6.16-rc5-mm2). The fix I implemented was to add a call to
> > > complete() in edac_memctrl_master_release() and then have the module
> > > cleanup code wait for the completion. I think there were a few other
> > > instances of this type of problem that I also fixed in the
> > > above-mentioned patch.
> >
> > This is not a fix, this is a goddamn deadlock.
> > rmmod your_turd </sys/spew/from/your_turd
> > and there you go. rmmod can _NOT_ wait for sysfs references to go away.
>
> Ok, how does this sound:
>
> - Modify EDAC so it uses kmalloc() to create the kobject.
> - Eliminate edac_memctrl_master_release(). Instead, use kfree() as
> the release method for the kobject. Here, it's important to use a
> function -outside- of EDAC as the release method since the core
> EDAC module may have been unloaded by the time the release method
> is called.
No, if this happens then you are using the kobject incorrectly. How
could it be held if your module is unloaded? Don't you have the module
reference counting logic correct?
> - Make similar modifications to the other places in EDAC where
> kobjects are used.
Yes.
> At least this will keep the module unload operation from blocking
> in the module cleanup function due to a nonzero kobject reference
> count. I'm going to be away from my keyboard for most of the rest of
> today. However, if there is general agreement that this is a
> reasonable way to proceed, I'll make a patch that implements this
> tomorrow.
It's a good start :)
thanks,
greg k-h
-
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/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]