I must correct one affirmation I made earlier. The issue is also visible on latest Quantal kernel, so the table should read :
Kernel
3.2.0-31-virtual HANG
3.2.0-29-virtual OK
3.2.28-030228-generic HANG (this is the mainline kernel corresponding to 3.2.0-31-virtual I think)
3.5.0-17-generic HANG (Quantal latest)
Kernel bisection outlines the following commit as the first bad :
$ git bisect good [0/1917]
1675b80790e5e373535d87b5ffbfafe7e532b9b9 is the first bad commit
commit 1675b80790e5e373535d87b5ffbfafe7e532b9b9
Author: Dan Williams <email address hidden>
Date: Thu Jun 21 23:47:28 2012 -0700
...teach scsi_sysfs_add_devices() to check for deleted devices() before
trying to add them, and teach scsi_remove_target() how to remove targets
that have not been added via device_add().
Reported-by: Dariusz Majchrzak <email address hidden>
Signed-off-by: Dan Williams <email address hidden>
Signed-off-by: James Bottomley <email address hidden>
Signed-off-by: Ben Hutchings <email address hidden>
Signed-off-by: Herton Ronaldo Krzesinski <email address hidden>
:040000 040000 8d739d0b793a09849cc280e781cb3613391ed8f9 ff60255ac7ac2eced39510bec9caf066b431ce7a M drivers
I must correct one affirmation I made earlier. The issue is also visible on latest Quantal kernel, so the table should read :
Kernel 030228- generic HANG (this is the mainline kernel corresponding to 3.2.0-31-virtual I think)
3.2.0-31-virtual HANG
3.2.0-29-virtual OK
3.2.28-
3.5.0-17-generic HANG (Quantal latest)
Kernel bisection outlines the following commit as the first bad :
$ git bisect good [0/1917] 3535d87b5ffbfaf e7e532b9b9 is the first bad commit 3535d87b5ffbfaf e7e532b9b9
1675b80790e5e37
commit 1675b80790e5e37
Author: Dan Williams <email address hidden>
Date: Thu Jun 21 23:47:28 2012 -0700
fix hot unplug vs async scan race
BugLink: http:// bugs.launchpad. net/bugs/ 1032640
commit 3b661a92e869ebe 2358de8f4b3230a d84f7fce51 upstream.
The following crash results from cases where the end_device has been
removed before scsi_sysfs_add_sdev has had a chance to run.
BUG: unable to handle kernel NULL pointer dereference at 0000000000000098 100>] sysfs_create_ dir+0x32/ 0xb6 <ffffffff8125e4 a8>] kobject_ add_internal+ 0x120/0x1e3 <ffffffff810751 49>] ? trace_hardirqs_ on+0xd/ 0xf <ffffffff8125e6 41>] kobject_ add_varg+ 0x41/0x50 <ffffffff8125e7 0b>] kobject_ add+0x64/ 0x66 <ffffffff813112 2b>] device_ add+0x12d/ 0x63a <ffffffff814b65 ea>] ? _raw_spin_ unlock_ irqrestore+ 0x47/0x56 <ffffffff8107de 15>] ? module_ refcount+ 0x89/0xa0 <ffffffff8132f3 48>] scsi_sysfs_ add_sdev+ 0x4e/0x28a <ffffffff8132dc bb>] do_scan_ async+0x9c/ 0x145
IP: [<ffffffff8115e
...
Call Trace:
[
[
[
[
[
[
[
[
[
...teach scsi_sysfs_ add_devices( ) to check for deleted devices() before target( ) how to remove targets
trying to add them, and teach scsi_remove_
that have not been added via device_add().
Reported-by: Dariusz Majchrzak <email address hidden>
Signed-off-by: Dan Williams <email address hidden>
Signed-off-by: James Bottomley <email address hidden>
Signed-off-by: Ben Hutchings <email address hidden>
Signed-off-by: Herton Ronaldo Krzesinski <email address hidden>
:040000 040000 8d739d0b793a098 49cc280e781cb36 13391ed8f9 ff60255ac7ac2ec ed39510bec9caf0 66b431ce7a M drivers