Re: [PATCH] base/class.c: prevent ooops due to insert/remove race (v3)
Alan Stern <[email protected]>
| Newsgroups | gmane.linux.usb.devel,gmane.linux.kernel |
|---|---|
| Message-ID | <[email protected]> |
On Thu, 29 Nov 2007, Linus Torvalds wrote: > Heh. It definitely hasn't gotten lost by "the git software". No, it sure hasn't. In fact it was staring me right in the face and I didn't realize it. > In fact, with > the kinds of hints you already gave, git makes it really _trivial_ to find > it. > > Here's what you do: > > git log v2.6.23.. --author=Wilcox > > and then just search for "scan_mutex", in the hope that Matthew wrote a > nice commit message. And yes, he did, so in less than a blink you get: > > commit 6b7f123f378743d739377871c0cbfbaf28c7d25a > Author: Matthew Wilcox <[email protected]> > Date: Tue Jun 26 15:18:51 2007 -0600 > > [SCSI] Fix async scanning double-add problems > > Stress-testing and some thought has revealed some places where > asynchronous scanning needs some more attention to locking. > > - Since async_scan is a bit, we need to hold the host_lock while > modifying it to prevent races against other CPUs modifying the word > that bit is in. This is probably a theoretical race for the moment, > but other patches may change that. > - The async_scan bit means not only that this host is being scanned > asynchronously, but that all the devices attached to this host are not > yet added to sysfs. So we must ensure that this bit is always in sync. > I've chosen to do this with the scan_mutex since it's already acquired > in most of the right places. > ... > > which I assume is the commit you're talking about. Yep, that's the one. Alan Stern ------------------------------------------------------------------------- SF.Net email is sponsored by: The Future of Linux Business White Paper from Novell. From the desktop to the data center, Linux is going mainstream. Let it simplify your IT future. http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4 _______________________________________________ [email protected] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel