Re: [linux-usb-devel] [PATCH] base/class.c: prevent ooops due toinsert/remove race (v3)

From: Alan Stern
Date: Thu Nov 29 2007 - 21:58:48 EST


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 <matthew@xxxxxx>
> 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

-
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/