On Monday 23 February 2009 06:40, Roland Dreier wrote:
> Oh I see... we leave the sysfs stuff around way too long, since we want
> to use it for tracking the lifetime of our class device.  the patch
> below fixes things for me here... there's still room for substantial
> cleanup but I think this gets the crashes fixed at least:
> 
I'm not sure that it does.  This does not make sysfs access atomic wrt module 
unloading.
I think an app can still lose it's timeslice while inside the sysfs access, and 
module
unload can still occur while the app is waiting for a new time slice (although 
the code pages
will not be removed as yet -- see below).

While the module code pages will still be available, what prevents module 
cleanup from
deleting all the module's resources?  In this case, the app will succeed in 
invoking
the low-level driver (its code is still loaded), but may cause an Oops when 
that low-level
driver code attempts to access low-level driver data structures (which have 
been freed).

What about the patch I just submitted?
        http://lists.openfabrics.org/pipermail/general/2009-February/057565.html

([ofa-general] [PATCH] ib_core: avoid race condition between sysfs access and 
low-level module unload)

- Jack
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to