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

From: Mark Lord
Date: Thu Nov 29 2007 - 15:02:23 EST


Alan Stern wrote:
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.
..

Well, duh, I kinda knew that already, thanks. ;)

But the flogging continues multiple times per second
until the system is shutdown, so it is "the next bug to fix".

Unless the 2.6.24 code already has that one taken care of.
This machine doesn't run 2.6.24 (yet) due to other incompatibilities.

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