lkml.org 
[lkml]   [2006]   [Mar]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 13/15] EDAC: kobject/sysfs fixes
On Thu, Mar 02, 2006 at 06:31:53PM -0800, Andrew Morton wrote:
> Dave Peterson <dsp@llnl.gov> wrote:
> >
> > - After we unregister a kobject, wait for our kobject release method
> > to call complete(). This causes us to wait until the kobject
> > reference count reaches 0. Otherwise, a task accessing the EDAC
> > sysfs interface can hold the reference count above 0 until after the
> > EDAC module has been unloaded. When the reference count finally
> > drops to 0, this will result in an attempt to call our release
> > method inside the EDAC module after the module has already been
> > unloaded.
>
> That's not really the way to do it. If you have all the correct
> module_get()s and try_module_get()s and module_put()s in all the right
> places, kenrel/module.c:wait_for_zero_refcount() should do this for you.

Fundamentally, you _can't_ wait for sysfs references to go away when
doing rmmod. You can fail with -EBUSY, but waiting is an instant deadlock.
Why? Because rmmod your_turd </sys/something_from_your_turd is going to
wait for itself to exit if you do that.
-
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/

\
 
 \ /
  Last update: 2006-03-03 03:47    [W:0.041 / U:0.928 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site