linux/drivers/scsi
Tejun Heo 4034cc6815 [SCSI] sd: revive sd_index_lock
Commit f27bac2761 which converted sd to
use ida instead of idr incorrectly removed sd_index_lock around id
allocation and free.  idr/ida do have internal locks but they protect
their free object lists not the allocation itself.  The caller is
responsible for that.  This missing synchronization led to the same id
being assigned to multiple devices leading to oops.

Reported and tracked down by Stuart Hayes of Dell.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Stable Tree <stable@kernel.org>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
2009-02-21 20:29:38 -06:00
..
aacraid [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
aic7xxx [SCSI] aic7xxx: Take the LED out of diagnostic mode on PM resume 2008-10-23 11:42:16 -05:00
aic7xxx_old Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
aic94xx [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
arcmsr [SCSI] advansys, arcmsr, ipr, nsp32, qla1280, stex: use pci_ioremap_bar() 2008-12-29 11:24:11 -06:00
arm [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
cxgb3i [SCSI] cxgb3i: update the driver version to 1.0.1 2009-02-21 20:29:38 -06:00
device_handler [SCSI] scsi_dh_rdac: Add LSI vendor and product ids in rdac device list 2008-12-29 11:24:17 -06:00
dpt removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
fcoe [SCSI] fcoe: fix incorrect use of struct module 2008-12-30 13:08:37 -06:00
ibmvscsi [SCSI] ibmvfc: Increase cancel timeout 2009-02-10 11:15:18 -05:00
libfc [SCSI] libfc: A modular Fibre Channel library 2008-12-29 11:24:33 -06:00
libsas [libata] get-identity ioctl: Fix use of invalid memory pointer 2009-01-16 10:17:09 -05:00
lpfc [SCSI] lpfc: introduce missing kfree 2009-02-10 11:15:19 -05:00
megaraid [SCSI] megaraid_sas: switch to block timeout 2008-12-01 11:15:55 -06:00
pcmcia [SCSI] aha152x_cs: Fix regression that keeps driver from using shared interrupts 2009-01-05 12:17:42 -06:00
qla2xxx [SCSI] qla2xxx: Update version number to 8.03.00-k3. 2009-02-10 11:15:20 -05:00
qla4xxx [SCSI] qla4xxx: do not reuse session when connecting to different target port 2009-01-25 07:55:13 -06:00
sym53c8xx_2 block: unify request timeout handling 2008-10-09 08:56:13 +02:00
.gitignore [SCSI] 53c7xx: fix removal fallout 2008-01-11 18:22:30 -06:00
3w-9xxx.c [SCSI] 3w-9xxx: remove unnecessary local_irq_save/restore for scsi sg copy API 2008-10-23 11:42:18 -05:00
3w-9xxx.h [SCSI] 3w-9xxx: add MSI support and misc fixes 2008-07-26 15:15:00 -04:00
3w-xxxx.c [SCSI] 3w-xxxx: remove unnecessary local_irq_save/restore for scsi sg copy API 2008-10-23 11:42:17 -05:00
3w-xxxx.h [SCSI] 3ware 8000 serialize reset code 2007-01-06 09:18:00 -06:00
53c700_d.h_shipped
53c700.c [SCSI] Let scsi_cmnd->cmnd use request->cmd buffer 2008-05-02 10:18:22 -05:00
53c700.h [SCSI] 53c700: m68k support for the 53c700 SCSI core 2007-06-17 16:15:56 -05:00
53c700.scr
a100u2w.c trivial: Fix misspelling of "firmware" in a100u2w.c 2009-01-06 11:28:08 +01:00
a100u2w.h [SCSI] a100u2w: Convert into Linux style 2007-06-17 16:09:29 -05:00
a2091.c [SCSI] a2091, gvp11: kill warn_unused_result warnings 2009-01-02 12:16:18 -06:00
a2091.h [SCSI] wd33c93: Scsi_Cmnd convertion 2006-09-12 17:12:31 -05:00
a3000.c [SCSI] WD33C93: let platform stub override no_sync/fast/dma_mode 2008-04-07 12:19:01 -05:00
a3000.h [SCSI] wd33c93: Scsi_Cmnd convertion 2006-09-12 17:12:31 -05:00
a4000t.c [SCSI] kmalloc + memset conversion to kzalloc 2007-10-12 14:41:00 -04:00
advansys.c [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
aha152x.c drivers/scsi: use nr_irqs 2008-10-16 16:52:06 +02:00
aha152x.h [SCSI] aha152x: fix debug mode symbol conflict 2007-08-04 09:11:06 -05:00
aha1542.c [SCSI] aha1542: minor irq handler cleanups 2008-04-27 12:19:55 -05:00
aha1542.h
aha1740.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
aha1740.h
aic7xxx_old.c Remove pointless casts from void pointers 2008-02-06 10:41:01 -08:00
atari_NCR5380.c [SCSI] atari_NCR5380, sun3_NCR5380: operator precedence fix 2008-01-11 18:28:57 -06:00
atari_scsi.c m68k: Remove the broken Hades support 2008-10-14 10:23:27 -07:00
atari_scsi.h m68k: Atari SCSI driver compile fixes 2007-05-04 17:59:05 -07:00
atp870u.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
atp870u.h
BusLogic.c [SCSI] BusLogic: make FlashPoint support x86-32 only 2008-04-07 12:15:44 -05:00
BusLogic.h [SCSI] BusLogic: make FlashPoint support x86-32 only 2008-04-07 12:15:44 -05:00
bvme6000_scsi.c [SCSI] kmalloc + memset conversion to kzalloc 2007-10-12 14:41:00 -04:00
ch.c [SCSI] add residual argument to scsi_execute and scsi_execute_req 2008-12-29 11:24:24 -06:00
constants.c [SCSI] scsi: add transport host byte errors (v3) 2008-10-13 09:28:48 -04:00
dc395x.c [SCSI] Remove random noop unchecked_isa_dma users 2008-04-07 12:15:40 -05:00
dc395x.h
dmx3191d.c [SCSI] pci_module_init conversion in scsi subsystem 2006-09-26 11:35:32 -07:00
dpt_i2o.c [SCSI] dpt_i2o: fix transferred data length for scsi_set_resid() 2008-11-15 11:10:14 -06:00
dpti.h drivers/scsi/dpt_i2o.c: fix build on alpha 2008-05-08 10:46:56 -07:00
dtc.c [SCSI] NCR5380: Fix bugs and canonicalize irq handler usage 2007-11-25 12:19:26 +02:00
dtc.h
eata_generic.h [SCSI] eata_pio: Remove FALSE/TRUE defines 2007-03-20 11:27:03 -05:00
eata_pio.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
eata_pio.h
eata.c [SCSI] eata: fix the data buffer accessors conversion regression 2008-12-29 11:24:35 -06:00
esp_scsi.c [SCSI] esp_scsi: Use DIV_ROUND_UP 2008-12-29 11:24:14 -06:00
esp_scsi.h sparc: Kill SBUS DVMA layer. 2008-08-29 02:13:10 -07:00
fd_mcs.c [SCSI] fd_mcs: convert to accessors and !use_sg cleanup 2008-01-11 18:22:35 -06:00
fdomain.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
fdomain.h
FlashPoint.c [SCSI] FlashPoint: fix off-by-one errors 2008-04-27 12:19:55 -05:00
g_NCR5380_mmio.c
g_NCR5380.c [SCSI] NCR5380: Fix bugs and canonicalize irq handler usage 2007-11-25 12:19:26 +02:00
g_NCR5380.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
gdth_ioctl.h
gdth_proc.c block: unify request timeout handling 2008-10-09 08:56:13 +02:00
gdth_proc.h block: unify request timeout handling 2008-10-09 08:56:13 +02:00
gdth.c gdth section fixes 2008-11-30 10:03:36 -08:00
gdth.h block: unify request timeout handling 2008-10-09 08:56:13 +02:00
gvp11.c [SCSI] a2091, gvp11: kill warn_unused_result warnings 2009-01-02 12:16:18 -06:00
gvp11.h [SCSI] wd33c93: Scsi_Cmnd convertion 2006-09-12 17:12:31 -05:00
hosts.c [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
hptiop.c [SCSI] hptiop: Add new PCI device ID 2009-02-21 20:29:36 -06:00
hptiop.h [SCSI] hptiop: add more adapter models and other fixes 2008-01-11 18:28:06 -06:00
ibmmca.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
imm.c [SCSI] replace __FUNCTION__ with __func__ 2008-07-27 10:31:49 -04:00
imm.h Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
in2000.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
in2000.h
initio.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
initio.h [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
ipr.c [libata] get-identity ioctl: Fix use of invalid memory pointer 2009-01-16 10:17:09 -05:00
ipr.h [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
ips.c block: unify request timeout handling 2008-10-09 08:56:13 +02:00
ips.h removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
iscsi_tcp.c [SCSI] libiscsi_tcp: support padding offload 2008-12-29 11:24:23 -06:00
iscsi_tcp.h [SCSI] iscsi_tcp: hook iscsi_tcp into new libiscsi_tcp module 2008-12-29 11:24:22 -06:00
jazz_esp.c [SCSI] jazz_esp, sgiwd93, sni_53c710, sun3x_esp: fix platform driver hotplug/coldplug 2008-04-27 12:33:04 -05:00
Kconfig powerpc: Fix iseries drivers build failure without CONFIG_VIOPATH 2009-01-08 16:25:14 +11:00
lasi700.c [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
libiscsi_tcp.c [SCSI] iscsi_tcp: make padbuf non-static 2009-01-13 10:41:34 -06:00
libiscsi.c [SCSI] libiscsi: Fix scsi command timeout oops in iscsi_eh_timed_out 2009-02-10 11:15:19 -05:00
libsrp.c [SCSI] replace __FUNCTION__ with __func__ 2008-07-27 10:31:49 -04:00
mac53c94.c [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
mac53c94.h
mac_esp.c [SCSI] mac_esp: fix for quadras with two esp chips 2008-12-29 11:24:19 -06:00
mac_scsi.c m68k: machw.h cleanup 2008-12-28 20:00:03 +01:00
mac_scsi.h
Makefile remove ide-scsi 2009-01-02 16:12:51 +01:00
megaraid.c trivial: Fix misspelling of "firmware" in megaraid.c 2009-01-06 11:28:08 +01:00
megaraid.h [SCSI] megaraid: fix mega_internal_command oops 2008-11-05 12:40:23 -05:00
mesh.c [SCSI] SCSI: remove dev->power.power_state from mesh driver 2008-06-05 09:23:44 -05:00
mesh.h
mvme16x_scsi.c [SCSI] kmalloc + memset conversion to kzalloc 2007-10-12 14:41:00 -04:00
mvme147.c [SCSI] wd33c93: fix up cut and paste error 2008-04-07 12:19:07 -05:00
mvme147.h [SCSI] wd33c93: Scsi_Cmnd convertion 2006-09-12 17:12:31 -05:00
mvsas.c [SCSI] mvsas: increase port type detection delay to suit Seagate's 10k6 drive ST3450856SS 0003 2009-01-02 12:10:04 -06:00
ncr53c8xx.c block: unify request timeout handling 2008-10-09 08:56:13 +02:00
ncr53c8xx.h [SCSI] ncr53c8xx: Call scsi_host_put in release 2007-10-12 14:51:18 -04:00
NCR53c406a.c [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
NCR5380.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
NCR5380.h [SCSI] NCR5380: Use scsi_eh API for REQUEST_SENSE invocation 2007-10-12 14:55:07 -04:00
NCR_D700.c [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
NCR_D700.h
NCR_Q720.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
NCR_Q720.h
nsp32_debug.c [SCSI] replace __FUNCTION__ with __func__ 2008-07-27 10:31:49 -04:00
nsp32_io.h
nsp32.c [SCSI] advansys, arcmsr, ipr, nsp32, qla1280, stex: use pci_ioremap_bar() 2008-12-29 11:24:11 -06:00
nsp32.h removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
osst_detect.h
osst_options.h
osst.c device create: scsi: convert device_create_drvdata to device_create 2008-10-16 09:24:44 -07:00
osst.h [SCSI] osst: Use mutex instead of semaphore 2007-10-12 14:50:55 -04:00
pas16.c [SCSI] NCR5380: Fix bugs and canonicalize irq handler usage 2007-11-25 12:19:26 +02:00
pas16.h
ppa.c [SCSI] replace __FUNCTION__ with __func__ 2008-07-27 10:31:49 -04:00
ppa.h Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
ps3rom.c powerpc/ps3: Printing fixups for l64 to ll64 conversion drivers/scsi 2009-01-16 16:15:15 +11:00
ql1040_fw.h
ql1280_fw.h
ql12160_fw.h
qla1280.c trivial: Fix misspelling of "firmware" in qla1280.c 2009-01-06 11:28:09 +01:00
qla1280.h [SCSI] qla1280: eliminate wasted space in request and response ring 2007-10-23 12:35:35 -04:00
qlogicfas408.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
qlogicfas408.h [SCSI] Scsi_Cmnd conversion in qlogicfas408 driver 2006-10-25 15:11:55 -07:00
qlogicfas.c [SCSI] remove use_sg_chaining 2008-01-30 13:14:02 -06:00
qlogicpti_asm.c [SPARC]: Fix some section mismatch warnings in sparc drivers. 2006-10-17 19:28:51 -07:00
qlogicpti.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-10-11 12:39:35 -07:00
qlogicpti.h qlogicpti: Convert to pure OF driver. 2008-08-29 02:14:46 -07:00
raid_class.c [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
script_asm.pl
scsi_debug.c [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
scsi_devinfo.c [SCSI] Add SUN Universal Xport to no attach blacklist 2009-01-13 10:45:44 -06:00
scsi_error.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2009-01-08 16:27:31 -08:00
scsi_ioctl.c [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
scsi_lib_dma.c [SCSI] don't build scsi_dma_{map,unmap} for !HAS_DMA 2007-07-14 19:28:10 -05:00
scsi_lib.c [SCSI] scsi_lib: fix DID_RESET status problems 2009-01-07 15:15:44 -06:00
scsi_logging.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
scsi_module.c
scsi_netlink.c [SCSI] fix netlink kernel-doc 2008-10-23 11:42:17 -05:00
scsi_priv.h [SCSI] modify scsi to handle new fail fast flags. 2008-10-13 09:28:52 -04:00
scsi_proc.c [SCSI] scsi_host_lookup: error returns and NULL pointers 2008-10-03 11:46:12 -05:00
scsi_sas_internal.h SCSI: convert struct class_device to struct device 2008-04-19 19:10:33 -07:00
scsi_scan.c [SCSI] scsi_scan: add missing interim SDEV_DEL state if slave_alloc fails 2009-02-10 11:15:17 -05:00
scsi_sysctl.c [SCSI] small cleanups 2007-07-18 11:16:32 -05:00
scsi_sysfs.c [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
scsi_tgt_if.c scsi-tgt: BKL pushdown 2008-07-02 15:06:25 -06:00
scsi_tgt_lib.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2008-10-10 10:53:26 -07:00
scsi_tgt_priv.h [SCSI] replace __FUNCTION__ with __func__ 2008-07-27 10:31:49 -04:00
scsi_transport_api.h
scsi_transport_fc_internal.h [SCSI] fc_transport: add target driver support 2007-10-12 14:46:58 -04:00
scsi_transport_fc.c [SCSI] fc transport: restore missing dev_loss_tmo callback to LLDD 2009-01-06 09:43:33 -06:00
scsi_transport_iscsi.c [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
scsi_transport_sas.c [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
scsi_transport_spi.c [SCSI] scsi_transport_spi: fix the misuse of scsi_execute return value 2008-12-29 11:24:32 -06:00
scsi_transport_srp_internal.h [SCSI] scsi_transport_srp: remove tgt dependencies 2007-10-12 14:38:09 -04:00
scsi_transport_srp.c [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
scsi_typedefs.h
scsi_wait_scan.c [SCSI] Add ability to scan scsi busses asynchronously 2006-10-11 13:44:25 -05:00
scsi.c [SCSI] Skip deleted devices in __scsi_device_lookup_by_target() 2009-01-13 10:48:11 -06:00
scsi.h [SCSI] remove unnecessary includes of linux/config.h from drivers/scsi/ 2006-08-19 13:39:11 -07:00
scsicam.c [SCSI] Add Documentation and integrate into docbook build 2008-01-11 18:22:40 -06:00
sd_dif.c [SCSI] sd: Correctly handle 6-byte commands with DIX 2009-01-05 09:06:23 -06:00
sd.c [SCSI] sd: revive sd_index_lock 2009-02-21 20:29:38 -06:00
sd.h [SCSI] sd: fix compile failure with CONFIG_BLK_DEV_INTEGRITY=n 2008-10-15 08:41:28 -04:00
ses.c [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
sg.c [SCSI] sg: fix device number in blktrace data 2009-02-10 11:15:17 -05:00
sgiwd93.c [SCSI] sgiwd93: Fix compilation warning 2009-01-02 10:58:41 -06:00
sim710.c [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
sni_53c710.c [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
sr_ioctl.c [SCSI] add residual argument to scsi_execute and scsi_execute_req 2008-12-29 11:24:24 -06:00
sr_vendor.c drivers/scsi/sr_vendor.c: use bcd2bin 2008-10-20 08:52:41 -07:00
sr.c [SCSI] add residual argument to scsi_execute and scsi_execute_req 2008-12-29 11:24:24 -06:00
sr.h [SCSI] sr: fix test unit ready responses 2008-02-07 18:02:44 -06:00
st_options.h [SCSI] st: add option to use SILI in variable block reads 2008-04-07 12:15:39 -05:00
st.c [SCSI] st: retry enlarge_buffer allocation 2009-01-02 12:06:52 -06:00
st.h [SCSI] st: remove unused frp_sg_current 2009-01-02 12:02:25 -06:00
stex.c [SCSI] advansys, arcmsr, ipr, nsp32, qla1280, stex: use pci_ioremap_bar() 2008-12-29 11:24:11 -06:00
sun3_NCR5380.c [SCSI] atari_NCR5380, sun3_NCR5380: operator precedence fix 2008-01-11 18:28:57 -06:00
sun3_scsi_vme.c [SCSI] sun3_scsi_vme: add MODULE_LICENSE 2008-04-16 09:28:11 -05:00
sun3_scsi.c [SCSI] NCR5380: Fix bugs and canonicalize irq handler usage 2007-11-25 12:19:26 +02:00
sun3_scsi.h [PATCH] Sun3 SCSI: Make sun3 scsi drivers compile/work again 2006-12-09 09:41:18 -08:00
sun3x_esp.c [SCSI] sun3x_esp: Convert && to || 2008-10-23 11:42:19 -05:00
sun_esp.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
sym53c416.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
sym53c416.h
t128.c [SCSI] NCR5380: Fix bugs and canonicalize irq handler usage 2007-11-25 12:19:26 +02:00
t128.h [SCSI] scsi: t128 scsi_cmnd convertion 2006-11-15 16:43:50 -06:00
tmscsim.c [SCSI] tmscsim: fix indentation and braces disagreement - add braces 2008-12-29 11:24:14 -06:00
tmscsim.h [SCSI] tmscsim: Further clean-up of the driver 2007-07-14 18:56:33 -05:00
u14-34f.c [SCSI] u14-34f: fix scsi_dma_map failure case 2008-12-29 11:24:14 -06:00
ultrastor.c scsi: fix integer as NULL pointer warnings 2008-04-28 17:31:13 -07:00
ultrastor.h [SCSI] scsi-driver ultrastore replace Scsi_Cmnd with struct scsi_cmnd 2006-09-07 12:39:34 -05:00
wd33c93.c [SCSI] WD33C93: let platform stub override no_sync/fast/dma_mode 2008-04-07 12:19:01 -05:00
wd33c93.h Spelling fix: explicitly 2007-10-19 23:22:55 +02:00
wd7000.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
zalon.c [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
zorro7xx.c m68k: zorro7xx needs <asm/amigahw.h> 2007-11-29 09:24:52 -08:00