Re: [PATCH][2.6][CFT] rmmod floppy kills box fixes + default_device_remove

From: Greg KH
Date: Tue Sep 09 2003 - 12:23:54 EST


On Tue, Sep 09, 2003 at 12:38:51PM -0400, Zwane Mwaikambo wrote:
> On Tue, 9 Sep 2003, Zwane Mwaikambo wrote:
>
> > > So an empty release() function is the wrong thing to do in 99.99% of the
> > > situations in the kernel (the one exception seems to be the mca release
> > > function that recently got added for use when the bus is doing probing
> > > logic.)
> > >
> > > Does this help out?
> >
> > Yes thanks, i was confused over which memory references had to be
> > maintained.
>
> Ok i had another look and i can see why you need a seperate release
> function, as we don't always do the kobject_cleanup immediately.
>
> John and myself had a look and now we have the following race on
> ->release() function exit.
>
> my_release_fn()
> {
> complete(&my_completion);
> <== [1] stall anywhere here, e.g. preempt/schedule
> }

Ugh. Sure, point out the theoretical :)

Any thoughts on how to solve this?

thanks,

greg k-h
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/