linux/drivers/scsi
Michael Hernandez be37aa4b99 scsi: qla2xxx: Fix system crash while triggering FW dump
This patch fixes system hang/crash while firmware dump is attempted with
Block MQ enabled in qla2xxx driver. Fix is to remove check in fw dump
template entries for existing request and response queues so that full
buffer size is calculated during template size calculation.

Following stack trace is seen during firmware dump capture process

[  694.390588] qla2xxx [0000:81:00.0]-5003:11: ISP System Error - mbx1=4b1fh mbx2=10h mbx3=2ah mbx7=0h.
[  694.402336] BUG: unable to handle kernel paging request at ffffc90008c7b000
[  694.402372] IP: memcpy_erms+0x6/0x10
[  694.402386] PGD 105f01a067
[  694.402386] PUD 85f89c067
[  694.402398] PMD 10490cb067
[  694.402409] PTE 0
[  694.402421]
[  694.402437] Oops: 0002 [#1] PREEMPT SMP
[  694.402452] Modules linked in: netconsole configfs qla2xxx scsi_transport_fc
nvme_fc nvme_fabrics bnep bluetooth rfkill xt_tcpudp unix_diag xt_multiport
ip6table_filter ip6_tables iptable_filter ip_tables x_tables af_packet
iscsi_ibft iscsi_boot_sysfs xfs libcrc32c ipmi_ssif sb_edac edac_core
x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm irqbypass igb
crct10dif_pclmul crc32_pclmul ghash_clmulni_intel pcbc aesni_intel iTCO_wdt
aes_x86_64 crypto_simd ptp iTCO_vendor_support glue_helper cryptd lpc_ich joydev
i2c_i801 pcspkr ioatdma mei_me pps_core tpm_tis mei mfd_core acpi_power_meter
tpm_tis_core ipmi_si ipmi_devintf tpm ipmi_msghandler shpchp wmi dca button
acpi_pad btrfs xor uas usb_storage hid_generic usbhid raid6_pq crc32c_intel ast
i2c_algo_bit drm_kms_helper syscopyarea sysfillrect
[  694.402692]  sysimgblt fb_sys_fops xhci_pci ttm ehci_pci sr_mod xhci_hcd
cdrom ehci_hcd drm usbcore sg
[  694.402730] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.10.0-1-default+ #19
[  694.402753] Hardware name: Supermicro X10DRi/X10DRi, BIOS 1.1a 10/16/2015
[  694.402776] task: ffffffff81c0e4c0 task.stack: ffffffff81c00000
[  694.402798] RIP: 0010:memcpy_erms+0x6/0x10
[  694.402813] RSP: 0018:ffff88085fc03cd0 EFLAGS: 00210006
[  694.402832] RAX: ffffc90008c7ae0c RBX: 0000000000000004 RCX: 000000000001fe0c
[  694.402856] RDX: 0000000000020000 RSI: ffff8810332c01f4 RDI: ffffc90008c7b000
[  694.402879] RBP: ffff88085fc03d18 R08: 0000000000020000 R09: 0000000000279e0a
[  694.402903] R10: 0000000000000000 R11: f000000000000000 R12: ffff88085fc03d80
[  694.402927] R13: ffffc90008a01000 R14: ffffc90008a056d4 R15: ffff881052ef17e0
[  694.402951] FS:  0000000000000000(0000) GS:ffff88085fc00000(0000) knlGS:0000000000000000
[  694.402977] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  694.403012] CR2: ffffc90008c7b000 CR3: 0000000001c09000 CR4: 00000000001406f0
[  694.403036] Call Trace:
[  694.403047]  <IRQ>
[  694.403072]  ? qla27xx_fwdt_entry_t263+0x18e/0x380 [qla2xxx]
[  694.403099]  qla27xx_walk_template+0x9d/0x1a0 [qla2xxx]
[  694.403124]  qla27xx_fwdump+0x1f3/0x272 [qla2xxx]
[  694.403149]  qla2x00_async_event+0xb08/0x1a50 [qla2xxx]
[  694.403169]  ? enqueue_task_fair+0xa2/0x9d0

Signed-off-by: Mike Hernandez <michael.hernandez@cavium.com>
Signed-off-by: Joe Carnuccio <joe.carnuccio@cavium.com>
Signed-off-by: Himanshu Madhani <himanshu.madhani@cavium.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2017-08-08 11:49:50 -04:00
..
aacraid scsi: aacraid: reading out of bounds 2017-07-26 22:09:21 -04:00
aic7xxx scsi: aic7xxx: fix firmware build with O=path 2017-07-24 22:06:36 -04:00
aic94xx scsi: sas: move scsi_remove_host call into sas_remove_host 2017-04-21 10:34:29 -04:00
arcmsr Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
arm scsi: ncr5380: Use correct types for DMA routines 2016-11-08 17:29:48 -05:00
be2iscsi scsi: be2iscsi: switch to pci_alloc_irq_vectors 2017-03-30 11:37:16 -04:00
bfa scsi: bfa: use designated initializers 2017-04-21 10:11:34 -04:00
bnx2fc scsi: bnx2fc: Simplify CPU hotplug code 2017-07-26 21:51:25 -04:00
bnx2i scsi: bnx2i: Simplify cpu hotplug code 2017-07-26 21:51:25 -04:00
csiostor scsi: csiostor: update module version 2017-06-26 15:00:58 -04:00
cxgbi scsi: libcxgbi: add check for valid cxgbi_task_data 2017-07-24 22:16:16 -04:00
cxlflash scsi: cxlflash: return -EFAULT if copy_from_user() fails 2017-07-12 17:06:51 -04:00
device_handler scsi: scsi_dh_alua: remove synchronous STPG support 2017-06-26 12:44:35 -04:00
dpt sched/wait: Rename wait_queue_t => wait_queue_entry_t 2017-06-20 12:18:27 +02:00
esas2r scsi: esas2r: Replace semaphore fs_api_semaphore with mutex 2017-06-12 21:17:22 -04:00
fcoe SCSI misc on 20170704 2017-07-06 12:10:33 -07:00
fnic SCSI misc on 20170704 2017-07-06 12:10:33 -07:00
hisi_sas scsi: hisi_sas: make several const arrays static 2017-07-12 17:23:07 -04:00
ibmvscsi scsi: ibmvfc: constify dev_pm_ops structures. 2017-07-01 17:05:22 -04:00
ibmvscsi_tgt driver core patches for 4.13-rc1 2017-07-03 20:27:48 -07:00
isci scsi: isci: fix typo in function names 2017-07-12 17:09:57 -04:00
libfc scsi: libfc: pass an error pointer to fc_disc_error() 2017-07-12 17:25:12 -04:00
libsas scsi: sas: scsi_queue_work can fail, so make callers aware 2017-06-27 21:28:04 -04:00
lpfc Merge branch 'for-linus' of git://git.kernel.dk/linux-block 2017-07-11 15:36:52 -07:00
megaraid scsi: megaraid_sas: fix memleak in megasas_alloc_cmdlist_fusion 2017-07-24 22:06:35 -04:00
mpt3sas scsi: Create two versions of scsi_internal_device_unblock() 2017-06-12 20:55:59 -04:00
mvsas scsi: sas: move scsi_remove_host call into sas_remove_host 2017-04-21 10:34:29 -04:00
osd blk-map: call blk_queue_bounce from blk_rq_append_bio 2017-06-27 12:13:21 -06:00
pcmcia
pm8001 scsi: sas: move scsi_remove_host call into sas_remove_host 2017-04-21 10:34:29 -04:00
qedf scsi: qedf: Limit number of CQs 2017-07-26 22:00:39 -04:00
qedi scsi: qedi: Fix return code in qedi_ep_connect() 2017-07-24 22:24:29 -04:00
qla2xxx scsi: qla2xxx: Fix system crash while triggering FW dump 2017-08-08 11:49:50 -04:00
qla4xxx scsi: qla4xxx: fix spelling mistake: "Tempalate" -> "Template" 2017-04-26 18:34:34 -04:00
smartpqi scsi: smartpqi: limit transfer length to 1MB 2017-07-17 22:56:33 -04:00
snic scsi: snic: fix a couple of spelling mistakes/typos 2017-07-01 17:13:56 -04:00
sym53c8xx_2 scsi: sym53c8xx_2: Use complete() instead complete_all() 2016-09-14 13:19:29 -04:00
ufs scsi: ufs: flush eh_work when eh_work scheduled. 2017-07-01 16:51:23 -04:00
.gitignore
3w-9xxx.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
3w-9xxx.h scsi: Update 3ware driver email addresses 2016-12-14 15:25:12 -05:00
3w-sas.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
3w-sas.h scsi: Update 3ware driver email addresses 2016-12-14 15:25:12 -05:00
3w-xxxx.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
3w-xxxx.h scsi: Update 3ware driver email addresses 2016-12-14 15:25:12 -05:00
53c700_d.h_shipped
53c700.c scsi: 53c700: switch to dma_alloc_attrs 2017-06-26 15:01:05 -04:00
53c700.h scsi: remove current_cmnd field from struct scsi_device 2016-07-13 22:33:23 -04:00
53c700.scr
a100u2w.c
a100u2w.h
a2091.c
a2091.h
a3000.c
a3000.h
a4000t.c
advansys.c scsi: advansys: fix uninitialized data access 2017-04-04 19:39:39 -04:00
aha152x.c Annotate hardware config module parameters in drivers/scsi/ 2017-04-20 12:02:32 +01:00
aha152x.h
aha1542.c Annotate hardware config module parameters in drivers/scsi/ 2017-04-20 12:02:32 +01:00
aha1542.h
aha1740.c
aha1740.h
am53c974.c
atari_scsi.c scsi: atari_scsi: Use m68k_realnum_memory for FastRAM test 2017-06-12 20:48:08 -04:00
atp870u.c atp870u: Introduce atp870_init() 2015-11-25 22:08:55 -05:00
atp870u.h atp870u: Remove scam_on from struct atp_unit 2015-11-25 22:08:52 -05:00
BusLogic.c scsi: BusLogic: fix incorrect spelling of adatper_reset_req 2017-04-21 10:31:33 -04:00
BusLogic.h scsi: BusLogic: fix incorrect spelling of adatper_reset_req 2017-04-21 10:31:33 -04:00
bvme6000_scsi.c
ch.c
constants.c scsi: fix upper bounds check of sense key in scsi_sense_key_string() 2016-08-16 00:49:32 -04:00
dc395x.c
dc395x.h
dmx3191d.c scsi: dmx3191d: use module_pci_driver 2016-11-16 20:43:50 -05:00
dpt_i2o.c scsi: dpt_i2o: double free if adpt_i2o_online_hba() fails 2017-01-05 00:21:12 -05:00
dpti.h
eata_generic.h
eata_pio.c eata_pio: missing break statement 2016-05-10 22:01:07 -04:00
eata_pio.h
eata.c
esp_scsi.c scsi: use host wide tags by default 2015-11-09 17:11:57 -08:00
esp_scsi.h
fdomain.c scsi: fdomain: drop fdomain_pci_tbl when built-in 2016-02-23 21:27:02 -05:00
fdomain.h
FlashPoint.c
g_NCR5380.c Annotate hardware config module parameters in drivers/scsi/ 2017-04-20 12:02:32 +01:00
gdth_ioctl.h
gdth_proc.c gdth: replace struct timeval with ktime_get_real_seconds() 2016-02-25 21:16:49 -05:00
gdth_proc.h
gdth.c Annotate hardware config module parameters in drivers/scsi/ 2017-04-20 12:02:32 +01:00
gdth.h
gvp11.c
gvp11.h
hosts.c scsi: allocate scsi_cmnd structures as part of struct request 2017-01-27 15:08:35 -07:00
hpsa_cmd.h scsi: hpsa: update identify physical device structure 2017-06-12 20:48:00 -04:00
hpsa.c scsi: hpsa: limit transfer length to 1MB 2017-07-17 22:51:47 -04:00
hpsa.h scsi: hpsa: remove abort handler 2017-06-12 20:48:01 -04:00
hptiop.c scsi: hptiop: make function hptiop_iop_request_callback_itl static 2017-06-26 15:01:02 -04:00
hptiop.h
imm.c imm: check parport_claim 2016-02-25 21:10:53 -05:00
imm.h
initio.c SCSI: initio: remove duplicate module device table 2015-11-20 11:39:03 -05:00
initio.h
ipr.c SCSI misc on 20170503 2017-05-04 12:19:44 -07:00
ipr.h scsi: ipr: Driver version 2.6.4 2017-03-23 12:04:05 -04:00
ips.c sched/wait: Rename wait_queue_t => wait_queue_entry_t 2017-06-20 12:18:27 +02:00
ips.h sched/wait: Rename wait_queue_t => wait_queue_entry_t 2017-06-20 12:18:27 +02:00
iscsi_boot_sysfs.c ibft: Expose iBFT acpi header via sysfs 2016-05-16 11:14:29 -04:00
iscsi_tcp.c treewide: convert PF_MEMALLOC manipulations to new helpers 2017-05-08 17:15:15 -07:00
iscsi_tcp.h iscsi_tcp: Use ahash 2016-01-27 20:36:10 +08:00
jazz_esp.c
Kconfig scsi: lpfc: fix linking against modular NVMe support 2017-07-24 22:21:55 -04:00
lasi700.c
libiscsi_tcp.c iscsi_tcp: Use ahash 2016-01-27 20:36:10 +08:00
libiscsi.c scsi: libiscsi: use kvzalloc for iscsi_pool_init 2017-06-12 20:48:04 -04:00
mac53c94.c PCI: Remove includes of asm/pci-bridge.h 2016-02-05 16:29:28 -06:00
mac53c94.h
mac_esp.c SCSI misc on 20170503 2017-05-04 12:19:44 -07:00
mac_scsi.c scsi: ncr5380: Resolve various static checker warnings 2017-01-31 21:38:35 -05:00
Makefile scsi: Implement blk_mq_ops.show_rq() 2017-04-26 15:09:04 -06:00
megaraid.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
megaraid.h
mesh.c PCI: Remove includes of asm/pci-bridge.h 2016-02-05 16:29:28 -06:00
mesh.h
mvme16x_scsi.c
mvme147.c
mvme147.h
mvumi.c scsi: mvumi: remove code handling zero scsi_sg_count(scmd) case 2017-04-24 18:16:49 -04:00
mvumi.h
ncr53c8xx.c
ncr53c8xx.h
NCR53c406a.c
NCR5380.c scsi: ncr5380: Improve target selection robustness 2017-01-31 21:38:58 -05:00
NCR5380.h scsi: ncr5380: Clean up dead code and redundant macro usage 2017-01-31 21:37:44 -05:00
NCR_D700.c
NCR_D700.h
NCR_Q720.c
NCR_Q720.h
nsp32_debug.c
nsp32_io.h
nsp32.c
nsp32.h
osst_detect.h
osst_options.h
osst.c block: Make most scsi_req_init() calls implicit 2017-06-20 19:27:14 -06:00
osst.h
pmcraid.c scsi: pmcraid: remove redundant check to see if request_size is less than zero 2017-05-08 22:16:45 -04:00
pmcraid.h scsi: pmcraid: fix endianess sparse annotations 2017-04-24 18:11:22 -04:00
ppa.c scsi: ppa: use new parport device model 2016-02-23 21:27:02 -05:00
ppa.h
ps3rom.c
qla1280.c ia64, scsi: update references for the device-io book 2017-05-16 08:44:21 -03:00
qla1280.h
qlogicfas408.c
qlogicfas408.h
qlogicfas.c Annotate hardware config module parameters in drivers/scsi/ 2017-04-20 12:02:32 +01:00
qlogicpti.c qlogicpti: Return correct error code 2016-03-01 20:06:49 -05:00
qlogicpti.h qlogicpti: Fix compiler warnings 2016-11-28 15:51:31 -05:00
raid_class.c
script_asm.pl
scsi_common.c scsi: always zero sshdr in scsi_normalize_sense 2017-02-22 19:33:00 -05:00
scsi_debug.c UUID/GUID updates: 2017-07-03 09:55:26 -07:00
scsi_debugfs.c scsi: Implement blk_mq_ops.show_rq() 2017-04-26 15:09:04 -06:00
scsi_debugfs.h scsi: Implement blk_mq_ops.show_rq() 2017-04-26 15:09:04 -06:00
scsi_devinfo.c scsi: scsi_devinfo: remove synchronous ALUA for NETAPP devices 2016-12-07 18:13:52 -05:00
scsi_dh.c scsi: use 'scsi_device_from_queue()' for scsi_dh 2017-02-22 18:41:42 -05:00
scsi_error.c SCSI misc on 20170704 2017-07-06 12:10:33 -07:00
scsi_ioctl.c scsi: make the sense header argument to scsi_test_unit_ready mandatory 2017-02-22 19:35:24 -05:00
scsi_lib_dma.c
scsi_lib.c SCSI misc on 20170704 2017-07-06 12:10:33 -07:00
scsi_logging.c
scsi_logging.h
scsi_module.c
scsi_netlink.c netlink: extended ACK reporting 2017-04-13 13:58:20 -04:00
scsi_pm.c scsi: Set request queue runtime PM status back to active on resume 2016-02-19 10:52:45 -05:00
scsi_priv.h scsi: Only add commands to the device command list if required by the LLD 2017-06-12 20:55:59 -04:00
scsi_proc.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
scsi_sas_internal.h scsi_transport_sas: add 'scsi_target_id' sysfs attribute 2016-03-14 21:05:04 -04:00
scsi_scan.c SCSI misc on 20170704 2017-07-06 12:10:33 -07:00
scsi_sysctl.c
scsi_sysfs.c scsi: Add STARGET_CREATED_REMOVE state to scsi_target_state 2017-07-01 16:54:44 -04:00
scsi_trace.c scsi-trace: define ZBC_IN and ZBC_OUT 2016-04-11 16:57:09 -04:00
scsi_transport_api.h
scsi_transport_fc.c scsi: scsi_transport_fc: return -EBUSY for deleted vport 2017-07-24 22:17:30 -04:00
scsi_transport_iscsi.c scsi: scsi_transport_iscsi: Use flush_work in iscsi_remove_session 2017-03-27 22:03:33 -04:00
scsi_transport_sas.c block: don't set bounce limit in blk_init_allocated_queue 2017-06-27 12:13:45 -06:00
scsi_transport_spi.c scsi: merge __scsi_execute into scsi_execute 2017-02-23 16:57:19 -05:00
scsi_transport_srp.c scsi: Protect SCSI device state changes with a mutex 2017-06-12 20:55:59 -04:00
scsi_typedefs.h
scsi.c scsi: default to scsi-mq 2017-06-27 21:31:12 -04:00
scsi.h
scsicam.c scsi: fix some kernel-doc markups 2017-05-16 08:44:15 -03:00
sd_dif.c scsi: sd: Move DIF protection types to t10-pi.h 2016-09-15 09:51:14 -04:00
sd_zbc.c SCSI misc on 20170503 2017-05-04 12:19:44 -07:00
sd.c SCSI misc on 20170704 2017-07-06 12:10:33 -07:00
sd.h sd: add support for TCG OPAL self encrypting disks 2017-06-29 10:21:15 -04:00
sense_codes.h scsi: move Additional Sense Codes to separate file 2016-04-11 16:57:09 -04:00
ses.c scsi: ses: don't get power status of SES device slot on probe 2017-04-06 12:48:05 -04:00
sg.c scsi: sg: only check for dxfer_len greater than 256M 2017-07-27 08:50:11 -04:00
sgiwd93.c scsi: sgiwd93: switch to dma_alloc_attrs 2017-06-26 15:01:06 -04:00
sim710.c scsi: sim710: fix build warning 2016-02-23 21:27:02 -05:00
sni_53c710.c scsi: remove incorrect __exit markups 2017-03-15 19:27:46 -04:00
sr_ioctl.c scsi: merge __scsi_execute into scsi_execute 2017-02-23 16:57:19 -05:00
sr_vendor.c
sr.c scsi: sr: Sanity check returned mode data 2017-04-07 17:07:14 -04:00
sr.h
st_options.h
st.c block: Make most scsi_req_init() calls implicit 2017-06-20 19:27:14 -06:00
st.h st: Remove obsolete scsi_tape.max_pfn 2015-11-18 11:59:09 -05:00
stex.c scsi: stex: make S6flag static 2017-04-26 18:32:29 -04:00
storvsc_drv.c scsi: storvsc: use default I/O timeout handler for FC devices 2017-06-26 12:33:26 -04:00
sun3_scsi_vme.c
sun3_scsi.c SCSI misc on 20170220 2017-02-21 11:51:42 -08:00
sun3x_esp.c
sun_esp.c scsi: sun_esp: fix device reference leaks 2017-06-27 21:46:55 -04:00
sym53c416.c
sym53c416.h
virtio_scsi.c scsi: virtio_scsi: always read VPD pages for multiqueue too 2017-07-12 17:15:54 -04:00
vmw_pvscsi.c scsi: vmw_pvscsi: handle the return value from pci_alloc_irq_vectors correctly 2017-03-06 22:27:33 -05:00
vmw_pvscsi.h scsi: vmw_pvscsi: switch to pci_alloc_irq_vectors 2017-01-11 22:31:03 -05:00
wd33c93.c
wd33c93.h
wd719x.c drivers/scsi/wd719x.c: remove last declaration using DEFINE_PCI_DEVICE_TABLE 2016-09-01 17:52:01 -07:00
wd719x.h
xen-scsifront.c scsi: xen-scsifront: Remove code that zeroes driver-private command data 2017-06-12 21:02:04 -04:00
zalon.c scsi: remove incorrect __exit markups 2017-03-15 19:27:46 -04:00
zorro7xx.c