Re: [PATCH] EDAC: core EDAC support code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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]
  Powered by Linux