Messages in this thread | | | From | Bartlomiej Zolnierkiewicz <> | Subject | Re: [PATCH] Fix ide unregister vs. driver model | Date | Mon, 25 Aug 2003 22:50:27 +0200 |
| |
On Monday 25 of August 2003 08:34, Benjamin Herrenschmidt wrote: > On Mon, 2003-08-25 at 00:23, Bartlomiej Zolnierkiewicz wrote: > > On Sunday 24 of August 2003 15:05, Benjamin Herrenschmidt wrote: > > > Hi Bart ! > > > > Hi, > > > > > This patch seem to have been lost, so here it is again. It fixes > > > an Ooops on unregistering hwifs due to the device model now having > > > mandatory release() functions. It also close the possible race we > > > had on release if the entry was in use (by or /sys typically) by > > > using a semaphore waiting for the release() to be called after > > > doing an unregister. > > > > I can't see the race - all references to struct device should be dropped > > by driver model before finally calling ->release() function... > > We have no race with the patch, that is we have no race when we wait > for the semaphore after calling unregister(). We have a race if we > don't as unregister() will drop a reference, but we may have pending > ones from sysfs still... so if we don't wait for release() to be > called, we may overwrite a struct device currently beeing used by > sysfs.
Nope, I don't think struct device can be used by sysfs after execution of device_unregister() (I've checked driver model and sysfs code).
--bartlomiej
- 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/
| |