linux/drivers/scsi
Linus Torvalds 331a6edb30 SCSI fixes on 20210613
Four reasonably small fixes to the core for scsi host allocation
 failure paths.  The root problem is that we're not freeing the memory
 allocated by dev_set_name(), which involves a rejig of may of the free
 on error paths to do put_device() instead of kfree which, in turn, has
 several other knock on ramifications and inspection turned up a few
 other lurking bugs.
 
 Signed-off-by: James E.J. Bottomley <jejb@linux.ibm.com>
 -----BEGIN PGP SIGNATURE-----
 
 iJwEABMIAEQWIQTnYEDbdso9F2cI+arnQslM7pishQUCYMYEVCYcamFtZXMuYm90
 dG9tbGV5QGhhbnNlbnBhcnRuZXJzaGlwLmNvbQAKCRDnQslM7pishbP/AP4oyLA5
 h7T5v7z29prQWn0P3TApcDVvXjOnqPNUzZlvkAEAifnVHLMehlzrJDeaSR0OUf8u
 U+SKrsxkiov5XYvwGGU=
 =0Vfx
 -----END PGP SIGNATURE-----

Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi

Pull SCSI fixes from James Bottomley:
 "Four reasonably small fixes to the core for scsi host allocation
  failure paths.

  The root problem is that we're not freeing the memory allocated by
  dev_set_name(), which involves a rejig of may of the free on error
  paths to do put_device() instead of kfree which, in turn, has several
  other knock on ramifications and inspection turned up a few other
  lurking bugs"

* tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
  scsi: core: Only put parent device if host state differs from SHOST_CREATED
  scsi: core: Put .shost_dev in failure path if host state changes to RUNNING
  scsi: core: Fix failure handling of scsi_add_host_with_dma()
  scsi: core: Fix error handling of scsi_host_alloc()
2021-06-13 12:25:33 -07:00
..
aacraid Networking changes for 5.13. 2021-04-29 11:57:23 -07:00
aic7xxx scsi: aic7xxx: Remove multiple definition of globals 2021-05-21 22:05:50 -04:00
aic94xx scsi: aic94xx: Avoid -Wempty-body warning 2021-04-01 22:55:25 -04:00
arcmsr scsi: arcmsr: Use generic power management 2020-11-25 23:14:30 -05:00
arm scsi: acornscsi: Use standard defines 2021-01-22 21:14:09 -05:00
be2iscsi scsi: be2iscsi: Demote incomplete/non-conformant kernel-doc header 2021-03-18 23:35:56 -04:00
bfa scsi: bfa: Remove unnecessary struct declarations 2021-04-05 23:44:01 -04:00
bnx2fc scsi: bnx2fc: Return failure if io_req is already in ABTS processing 2021-05-21 22:25:39 -04:00
bnx2i scsi: bnx2i: Make bnx2i_process_iscsi_error() simpler and more robust 2021-03-24 22:21:31 -04:00
csiostor scsi: csiostor: Fix a typo 2021-03-24 22:54:24 -04:00
cxgbi scsi: cxgbi: cxgb3: Fix misnaming of ddp_setup_conn_digest() 2021-03-15 22:28:58 -04:00
cxlflash pci-v5.13-changes 2021-05-05 13:24:11 -07:00
device_handler scsi: core: Introduce enum scsi_disposition 2021-04-15 22:44:40 -04:00
dpt scsi: docs: convert dpti.txt to ReST 2020-03-11 23:07:59 -04:00
esas2r proc: mandate ->proc_lseek in "struct proc_ops" 2021-05-06 19:24:11 -07:00
fcoe scsi: fcoe: Suppress a compiler warning 2021-04-15 22:44:40 -04:00
fnic scsi: fnic: Use scsi_host_busy_iter() to traverse commands 2021-05-02 22:47:42 -04:00
hisi_sas scsi: hisi_sas: Drop free_irq() of devm_request_irq() allocated irq 2021-05-21 22:46:55 -04:00
ibmvscsi SCSI misc on 20210428 2021-04-28 17:22:10 -07:00
ibmvscsi_tgt SCSI misc on 20210428 2021-04-28 17:22:10 -07:00
isci scsi: isci: Remove unnecessary struct declaration 2021-04-13 01:39:12 -04:00
libfc scsi: libfc: Fix a format specifier 2021-04-15 22:44:40 -04:00
libsas scsi: libsas: Use _safe() loop in sas_resume_port() 2021-05-21 16:28:24 -04:00
lpfc scsi: lpfc: Fix failure to transmit ABTS on FC link 2021-05-31 23:00:42 -04:00
megaraid treewide: remove editor modelines and cruft 2021-05-07 00:26:34 -07:00
mpt3sas scsi: mpt3sas: Fix two kernel-doc headers 2021-04-15 22:44:40 -04:00
mvsas scsi: mvsas: Avoid -Wempty-body warning 2021-04-01 22:56:37 -04:00
pcmcia module: remove never implemented MODULE_SUPPORTED_DEVICE 2021-03-17 13:16:18 -07:00
pm8001 scsi: pm80xx: Fix drives missing during rmmod/insmod loop 2021-05-15 18:07:43 -04:00
qedf scsi: qedf: Do not put host in qedf_vport_create() unconditionally 2021-06-01 23:01:38 -04:00
qedi Merge branch '5.12/scsi-fixes' into 5.13/scsi-staging 2021-04-05 22:57:29 -04:00
qla2xxx scsi: target: qla2xxx: Wait for stop_phase1 at WWN removal 2021-05-21 23:38:57 -04:00
qla4xxx scsi: qla4xxx: Remove an unused function 2021-04-15 22:44:41 -04:00
smartpqi SCSI misc on 20210428 2021-04-28 17:22:10 -07:00
snic scsi: snic: Convert to DEFINE_SHOW_ATTRIBUTE() 2021-04-12 23:41:38 -04:00
sym53c8xx_2 scsi: Remove unneeded break statements 2020-10-26 18:23:24 -04:00
ufs SCSI fixes on 20210606 2021-06-06 15:39:56 -07:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
3w-9xxx.c scsi: 3w-9xxx: Remove a few set but unused variables 2021-03-15 22:29:00 -04:00
3w-9xxx.h scsi: 3w-9xxx: Whitespace cleanup 2021-01-22 21:14:07 -05:00
3w-sas.c scsi: 3w-sas: Remove unneeded variable 'retval' 2021-03-18 22:18:09 -04:00
3w-sas.h scsi: 3w-sas: Whitespace cleanup 2021-01-22 21:14:08 -05:00
3w-xxxx.c scsi: 3w-xxxx: Remove 2 unused variables 'response_que_value' and 'tw_dev' 2021-03-15 22:29:00 -04:00
3w-xxxx.h scsi: 3w-xxxx: Whitespace cleanup 2021-01-22 21:14:07 -05:00
53c700.c treewide: remove editor modelines and cruft 2021-05-07 00:26:34 -07:00
53c700.h treewide: remove editor modelines and cruft 2021-05-07 00:26:34 -07:00
53c700.scr
53c700_d.h_shipped
a100u2w.c scsi: a100u2w: Remove unused variable biosaddr 2021-03-29 23:33:06 -04:00
a100u2w.h
a2091.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
a2091.h
a3000.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
a3000.h
a4000t.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
advansys.c SCSI misc on 20210428 2021-04-28 17:22:10 -07:00
aha152x.c scsi: aha152x: Remove unused variable 'ret' 2020-07-08 01:12:53 -04:00
aha152x.h
aha1542.c aha1542: use a local bounce buffer 2021-04-06 09:28:17 -06:00
aha1542.h scsi: aha1542: Clarify 'struct ccb' comments 2021-01-13 00:14:07 -05:00
aha1740.c scsi: aha1740: Fix fall-through warnings for Clang 2020-12-02 12:59:46 -05:00
aha1740.h
am53c974.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
atari_scsi.c scsi: atari_scsi: Fix race condition between .queuecommand and EH 2020-11-23 22:12:09 -05:00
atp870u.c scsi: atp870u: Fix naming and demote incorrect and non-conformant kernel-doc header 2021-03-15 22:29:00 -04:00
atp870u.h scsi: atp870u: Whitespace cleanup 2021-01-22 21:14:08 -05:00
BusLogic.c scsi: BusLogic: Fix 64-bit system enumeration error for Buslogic 2021-05-14 22:19:04 -04:00
BusLogic.h scsi: BusLogic: Fix 64-bit system enumeration error for Buslogic 2021-05-14 22:19:04 -04:00
bvme6000_scsi.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
ch.c treewide: remove editor modelines and cruft 2021-05-07 00:26:34 -07:00
constants.c scsi: core: Add DID_ALLOC_FAILURE and DID_MEDIUM_ERROR to hostbyte_table 2020-04-01 22:03:04 -04:00
dc395x.c scsi: dc395x: Open-code status_byte(u8) calls 2021-04-15 22:44:41 -04:00
dc395x.h scsi: dc395x: Drop internal SCSI message definitions 2021-01-22 21:14:10 -05:00
dmx3191d.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
dpt_i2o.c scsi: dpt_i2o: Use DID_ERROR instead of INITIATOR_ERROR message 2021-01-22 21:14:11 -05:00
dpti.h scsi: docs: convert dpti.txt to ReST 2020-03-11 23:07:59 -04:00
esp_scsi.c scsi: esp_scsi: Trivial typo fixes 2021-03-24 23:07:14 -04:00
esp_scsi.h scsi: esp_scsi: Add support for FSC chip 2019-12-19 22:08:51 -05:00
fdomain.c scsi: fdomain: use BSTAT_{MSG|CMD|IO} in fdomain_work() 2019-07-30 12:17:28 -04:00
fdomain.h scsi: fdomain: Mark 'fdomain_pm_ops' as __maybe_unused 2020-07-08 01:12:44 -04:00
fdomain_isa.c isa: Make the remove callback for isa drivers return void 2021-01-26 07:42:27 +01:00
fdomain_pci.c scsi: fdomain: Resurrect driver - PCI support 2019-06-18 19:46:18 -04:00
FlashPoint.c scsi: FlashPoint: Remove unused variable 'TID' from FlashPoint_AbortCCB() 2021-03-18 22:52:29 -04:00
g_NCR5380.c isa: Make the remove callback for isa drivers return void 2021-01-26 07:42:27 +01:00
gvp11.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
gvp11.h
hosts.c scsi: core: Only put parent device if host state differs from SHOST_CREATED 2021-06-07 22:12:44 -04:00
hpsa.c module: remove never implemented MODULE_SUPPORTED_DEVICE 2021-03-17 13:16:18 -07:00
hpsa.h scsi: hpsa: Update copyright 2020-09-02 22:49:06 -04:00
hpsa_cmd.h scsi: hpsa: Add an assert to prevent __packed reintroduction 2021-04-01 22:52:40 -04:00
hptiop.c scsi: Remove unneeded break statements 2020-10-26 18:23:24 -04:00
hptiop.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 285 2019-06-05 17:36:37 +02:00
imm.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
imm.h
initio.c scsi: initio: Fix a few kernel-doc misdemeanours 2021-03-18 23:35:55 -04:00
initio.h scsi: initio: Drop internal SCSI message definition 2021-01-22 21:14:10 -05:00
ipr.c scsi: ipr: Fix incorrect function names in their headers 2021-03-18 23:35:54 -04:00
ipr.h scsi: ipr: Fix struct packed-not-aligned issues 2020-07-15 17:26:58 -04:00
ips.c treewide: remove editor modelines and cruft 2021-05-07 00:26:34 -07:00
ips.h treewide: remove editor modelines and cruft 2021-05-07 00:26:34 -07:00
iscsi_boot_sysfs.c scsi: iscsi: Fix reference count leak in iscsi_boot_create_kobj 2020-06-02 21:23:47 -04:00
iscsi_tcp.c scsi: iscsi_tcp: Fix shost can_queue initialization 2021-02-08 22:39:04 -05:00
iscsi_tcp.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
jazz_esp.c scsi: jazz_esp: Add IRQ check 2021-04-13 00:20:48 -04:00
Kconfig Buslogic: remove ISA support 2021-04-06 09:28:17 -06:00
lasi700.c treewide: remove editor modelines and cruft 2021-05-07 00:26:34 -07:00
libiscsi.c SCSI fixes on 20210417 2021-04-17 20:25:33 -07:00
libiscsi_tcp.c scsi: libiscsi: Drop taskqueuelock 2021-02-08 22:39:03 -05:00
mac53c94.c scsi: mac53c94: Fix warning comparing pointer to 0 2021-03-24 22:16:12 -04:00
mac53c94.h
mac_esp.c scsi: mac_esp: Use module_platform_driver to simplify the code 2020-10-02 21:52:53 -04:00
mac_scsi.c scsi: NCR5380: Remove context check 2020-12-07 20:24:09 -05:00
Makefile scsi: Drop gdth driver 2021-01-22 21:14:07 -05:00
megaraid.c SCSI misc on 20201013 2020-10-14 15:15:35 -07:00
megaraid.h
mesh.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
mesh.h
mvme16x_scsi.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
mvme147.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
mvme147.h
mvumi.c scsi: mvumi: Fix formatting and doc-rot issues 2021-03-18 23:35:54 -04:00
mvumi.h scsi: Replace zero-length array with flexible-array member 2020-03-11 23:07:56 -04:00
myrb.c scsi: myrb: Remove unused functions 2021-04-15 22:44:40 -04:00
myrb.h scsi: mylex: Use the correct style for SPDX License Identifier 2020-01-02 21:57:44 -05:00
myrs.c scsi: myrs: Remove unused functions 2021-04-15 22:44:41 -04:00
myrs.h scsi: mylex: Use the correct style for SPDX License Identifier 2020-01-02 21:57:44 -05:00
ncr53c8xx.c scsi: ncr53c8xx: Fix typos 2021-01-26 22:11:17 -05:00
ncr53c8xx.h scsi: ncr53c8xx: Use SAM status values 2021-01-22 21:14:12 -05:00
NCR5380.c scsi: NCR5380: Remove context check 2020-12-07 20:24:09 -05:00
NCR5380.h scsi: NCR5380: Remove context check 2020-12-07 20:24:09 -05:00
nsp32.c scsi: nsp32: Correct expected types in debug print formatting 2021-03-18 22:52:30 -04:00
nsp32.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 118 2019-05-24 17:39:02 +02:00
nsp32_debug.c
nsp32_io.h
pmcraid.c scsi: pmcraid: Correct function name pmcraid_show_adapter_id() in header 2021-03-18 23:35:55 -04:00
pmcraid.h scsi: pmcraid: Fix 'ioarcb' alignment warning 2021-02-08 21:53:12 -05:00
ppa.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
ppa.h
ps3rom.c powerpc/ps3: make system bus's remove and shutdown callbacks return void 2020-12-04 01:01:22 +11:00
qla1280.c treewide: remove editor modelines and cruft 2021-05-07 00:26:34 -07:00
qla1280.h scsi: qla1280: Fix dma firmware download, if dma address is 64bit 2020-01-15 23:09:11 -05:00
qlogicfas.c scsi: remove the use_clustering flag 2018-12-18 23:19:21 -05:00
qlogicfas408.c scsi: qlogicfas408: clean up a couple of indentation issues 2019-03-19 17:11:37 -04:00
qlogicfas408.h
qlogicpti.c SCSI misc on 20201013 2020-10-14 15:15:35 -07:00
qlogicpti.h scsi: qlogicpti: Use of_node_name_eq for node name comparisons 2019-02-13 22:07:03 -05:00
raid_class.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 437 2019-06-05 17:37:17 +02:00
script_asm.pl treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
scsi.c scsi: core: Replace sdev->device_busy with sbitmap 2021-03-04 17:37:00 -05:00
scsi.h
scsi_common.c
scsi_debug.c scsi: scsi_debug: Fix cmd_per_lun, set to max_queue 2021-05-02 22:41:44 -04:00
scsi_debugfs.c scsi: remove the unchecked_isa_dma flag 2021-04-06 09:28:17 -06:00
scsi_debugfs.h scsi: core: add SPDX tags to scsi midlayer files missing licensing information 2019-05-21 06:16:21 -04:00
scsi_devinfo.c scsi: scsi_devinfo: Add blacklist entry for HPE OPEN-V 2021-06-01 23:21:27 -04:00
scsi_dh.c scsi: scsi_dh: Fix a typo 2021-03-24 23:03:43 -04:00
scsi_error.c scsi: core: Introduce enum scsi_disposition 2021-04-15 22:44:40 -04:00
scsi_ioctl.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
scsi_lib.c SCSI misc on 20210428 2021-04-28 17:22:10 -07:00
scsi_lib_dma.c
scsi_logging.c scsi: core: Delete unnecessary buffer allocation for every loop iteration 2020-07-24 22:09:57 -04:00
scsi_logging.h scsi: core: Fix a compiler warning triggered by the SCSI logging code 2019-12-19 22:08:54 -05:00
scsi_netlink.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
scsi_pm.c scsi: block: pm: Simplify resume handling 2020-07-24 22:09:55 -04:00
scsi_priv.h scsi: core: Introduce enum scsi_disposition 2021-04-15 22:44:40 -04:00
scsi_proc.c proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
scsi_sas_internal.h
scsi_scan.c SCSI misc on 20210428 2021-04-28 17:22:10 -07:00
scsi_sysctl.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 209 2019-05-30 11:29:53 -07:00
scsi_sysfs.c SCSI misc on 20210428 2021-04-28 17:22:10 -07:00
scsi_trace.c scsi: scsi_trace: Use get_unaligned_be24() 2020-03-16 22:08:36 -04:00
scsi_transport_api.h
scsi_transport_fc.c scsi: scsi_transport_fc: Add store capability to rport port_state in sysfs 2021-01-14 22:55:17 -05:00
scsi_transport_iscsi.c SCSI fixes on 20210417 2021-04-17 20:25:33 -07:00
scsi_transport_sas.c scsi: scsi_transport_sas: Add spaces around binary operator "|" 2020-08-04 20:56:56 -04:00
scsi_transport_spi.c scsi: scsi_transport_spi: Set RQF_PM for domain validation commands 2020-12-09 11:41:42 -05:00
scsi_transport_srp.c scsi: scsi_transport_srp: Don't block target in SRP_PORT_LOST state 2021-04-05 23:14:53 -04:00
scsicam.c include: remove pagemap.h from blkdev.h 2021-05-06 19:24:11 -07:00
sd.c scsi: sd: Introduce a new local variable in sd_check_events() 2021-04-15 22:44:41 -04:00
sd.h SCSI misc on 20201013 2020-10-14 15:15:35 -07:00
sd_dif.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 410 2019-06-05 17:37:14 +02:00
sd_zbc.c Merge branch '5.12/scsi-fixes' into 5.13/scsi-staging 2021-04-05 22:57:29 -04:00
sense_codes.h scsi: core: Update additional sense codes list 2020-09-15 20:28:06 -04:00
ses.c SCSI misc on 20190709 2019-07-11 15:14:01 -07:00
sg.c SCSI misc on 20210428 2021-04-28 17:22:10 -07:00
sgiwd93.c sgiwd93: convert to dma_alloc_noncoherent 2020-09-25 06:20:44 +02:00
sim710.c scsi: sim710: Remove unused variable 'err' from sim710_init() 2021-03-18 22:52:29 -04:00
sni_53c710.c treewide: remove editor modelines and cruft 2021-05-07 00:26:34 -07:00
sr.c sr: Remove in_interrupt() usage in sr_init_command(). 2020-12-12 11:12:25 -07:00
sr.h scsi: sr: get rid of sr global mutex 2020-02-24 15:01:57 -05:00
sr_ioctl.c scsi: remove the unchecked_isa_dma flag 2021-04-06 09:28:17 -06:00
sr_vendor.c scsi: sr: remove references to BLK_DEV_SR_VENDOR, leave it enabled 2020-02-24 14:59:01 -05:00
st.c scsi: remove the unchecked_isa_dma flag 2021-04-06 09:28:17 -06:00
st.h scsi: remove the unchecked_isa_dma flag 2021-04-06 09:28:17 -06:00
st_options.h
stex.c scsi: stex: Do not set COMMAND_COMPLETE 2021-01-22 21:14:10 -05:00
storvsc_drv.c scsi: storvsc: Enable scatterlist entry lengths > 4Kbytes 2021-03-17 00:04:40 -04:00
sun3_scsi.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
sun3_scsi_vme.c
sun3x_esp.c scsi: sun3x_esp: Add IRQ check 2021-04-13 00:20:48 -04:00
sun_esp.c scsi: sun_esp: Use module_platform_driver to simplify the code 2020-10-02 21:52:55 -04:00
virtio_scsi.c SCSI misc on 20201013 2020-10-14 15:15:35 -07:00
vmw_pvscsi.c scsi: vmw_pvscsi: Set correct residual data length 2021-05-21 22:41:38 -04:00
vmw_pvscsi.h scsi: vmw_pvscsi: MAINTAINERS: Update maintainer 2021-03-04 17:21:25 -05:00
wd33c93.c scsi: wd33c93: Use SCSI status 2021-01-22 21:14:12 -05:00
wd33c93.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 118 2019-05-24 17:39:02 +02:00
wd719x.c SCSI misc on 20190709 2019-07-11 15:14:01 -07:00
wd719x.h scsi: wd719x: use per-command private data 2018-11-15 14:27:08 -05:00
xen-scsifront.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
zalon.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
zorro7xx.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
zorro_esp.c mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00