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

From: Alan Stern
Date: Thu Nov 29 2007 - 14:20:41 EST


On Thu, 29 Nov 2007, Mark Lord wrote:

> Mark Lord wrote:
> > ..
> >
> > While doing insert/remove (quickly) tests on USB,
> > I managed to trigger an Oops on 2.6.23.8 on a call
> > to strlen() in make_class_name().

Does this oops occur under 2.6.24? The SCSI async scanning code was
changed between 2.6.23 and 2.6.24, in a way intended to prevent exactly
this sort of thing.

> And below is a "prevented Oops", courtesy of the patch.
> The next bug to fix is whereever the code resides that
> repeatedly continues to flog the unplugged device
> after the test, despite SCSI returning host_byte=DID_NO_CONNECT.

It has probably already been fixed.

Besides, it's not the flogging an unplugged device that causes the
oops. It's trying to unregister a device that was never registered in
the first place.

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/