1
0
Fork 0
remarkable-linux/drivers/scsi
Varun Prakash 9ac1a4644b scsi: libiscsi: fix possible NULL pointer dereference in case of TMF
[ Upstream commit a17037e7d5 ]

In iscsi_check_tmf_restrictions() task->hdr is dereferenced to print the
opcode, it is possible that task->hdr is NULL.

There are two cases based on opcode argument:

1. ISCSI_OP_SCSI_CMD - In this case alloc_pdu() is called
after iscsi_check_tmf_restrictions()

iscsi_prep_scsi_cmd_pdu() -> iscsi_check_tmf_restrictions() -> alloc_pdu().

Transport drivers allocate memory for iSCSI hdr in alloc_pdu() and assign
it to task->hdr. In case of TMF task->hdr will be NULL resulting in NULL
pointer dereference.

2. ISCSI_OP_SCSI_DATA_OUT - In this case transport driver can free the
memory for iSCSI hdr after transmitting the pdu so task->hdr can be NULL or
invalid.

This patch fixes this issue by removing task->hdr->opcode from the printk
statement.

Signed-off-by: Varun Prakash <varun@chelsio.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-09-05 09:26:24 +02:00
..
aacraid scsi: aacraid: Insure command thread is not recursively stopped 2018-05-25 16:17:50 +02:00
aic7xxx License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
aic94xx scsi: libsas: move bus_reset_handler() to target_reset_handler() 2017-08-25 17:21:10 -04:00
arcmsr arcmsr: add const to bin_attribute structures 2017-08-10 19:40:50 -04:00
arm scsi: fas216: fix sense buffer initialization 2018-04-26 11:02:10 +02:00
be2iscsi scsi: be2iscsi: Replace PCI pool old API 2017-08-07 14:04:01 -04:00
bfa scsi: bfa: fix type conversion warning 2018-02-25 11:08:01 +01:00
bnx2fc scsi: bnx2fc: Fix check in SCSI completion handler for timed out request 2018-05-25 16:17:46 +02:00
bnx2i scsi: bnx2i: Simplify cpu hotplug code 2017-07-26 21:51:25 -04:00
csiostor License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cxgbi scsi: cxgb4i: fix Tx skb leak 2017-12-25 14:26:25 +01:00
cxlflash scsi: cxlflash: Avoid clobbering context control register value 2018-08-03 07:50:41 +02: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: constify pci_device_id. 2017-08-24 22:28:52 -04:00
fcoe License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fnic License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hisi_sas scsi: hisi_sas: config ATA de-reset as an constrained command for v3 hw 2018-08-03 07:50:36 +02:00
ibmvscsi scsi: ibmvfc: fix misdefined reserved field in ibmvfc_fcp_rsp_info 2018-02-28 10:19:38 +01:00
ibmvscsi_tgt License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
isci scsi: isci: Fix infinite loop in while loop 2018-06-21 04:02:46 +09:00
libfc License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
libsas scsi: libsas: defer ata device eh commands to libata 2018-05-25 16:17:34 +02:00
lpfc scsi: lpfc: Fix frequency of Release WQE CQEs 2018-05-25 16:17:51 +02:00
megaraid scsi: megaraid_sas: Increase timeout by 1 sec for non-RAID fastpath IOs 2018-08-03 07:50:41 +02:00
mpt3sas scsi: mpt3sas: Do not mark fw_event workqueue as WQ_MEM_RECLAIM 2018-05-25 16:17:49 +02:00
mvsas scsi: mvsas: fix wrong endianness of sgpio api 2018-05-25 16:17:50 +02:00
osd block: fix blk_rq_append_bio 2018-01-02 20:31:05 +01:00
pcmcia License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pm8001 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
qedf scsi: qedf: Send the driver state to MFW 2018-08-24 13:09:15 +02:00
qedi scsi: qedi: Send driver state to MFW 2018-08-24 13:09:15 +02:00
qla2xxx scsi: qla2xxx: Fix memory leak for allocating abort IOCB 2018-08-15 18:12:47 +02:00
qla4xxx scsi: qla4xxx: skip error recovery in case of register disconnect. 2018-05-25 16:17:48 +02:00
smartpqi scsi: smartpqi: allow static build ("built-in") 2018-02-22 15:42:14 +01:00
snic License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sym53c8xx_2 scsi: sym53c8xx_2: iterator underflow in sym_getsync() 2018-05-25 16:17:47 +02:00
ufs scsi: ufs: fix exception event handling 2018-08-03 07:50:32 +02:00
.gitignore
3w-9xxx.c scsi: 3w-9xxx: fix a missing-check bug 2018-08-03 07:50:36 +02:00
3w-9xxx.h
3w-sas.c
3w-sas.h
3w-xxxx.c scsi: 3w-xxxx: fix a missing-check bug 2018-08-03 07:50:36 +02:00
3w-xxxx.h
53c700.c scsi: 53c700: move bus reset to host reset 2017-08-25 17:21:11 -04:00
53c700.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
53c700.scr
53c700_d.h_shipped
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
FlashPoint.c
Kconfig SCSI misc on 20170913 2017-09-13 10:47:14 -07:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
NCR53c406a.c
NCR5380.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
NCR5380.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
NCR_D700.c
NCR_D700.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
NCR_Q720.c dma-coherent: remove the DMA_MEMORY_MAP and DMA_MEMORY_IO flags 2017-09-01 11:59:17 +02:00
NCR_Q720.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
a100u2w.c
a100u2w.h
a2091.c scsi: drop bus reset for wd33c93-compatible boards 2017-08-25 17:21:10 -04:00
a2091.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
a3000.c scsi: drop bus reset for wd33c93-compatible boards 2017-08-25 17:21:10 -04:00
a3000.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
a4000t.c
advansys.c scsi: advansys: fix uninitialized data access 2017-04-04 19:39:39 -04:00
aha152x.c scsi: aha152x: drop host reset 2017-08-25 17:21:11 -04:00
aha152x.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
aha1542.c scsi: aha1542: constify pnp_device_id 2017-08-24 22:29:07 -04:00
aha1542.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
aha1740.c
aha1740.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
am53c974.c
atari_scsi.c scsi: NCR5380: Move bus reset to host reset 2017-08-25 17:21:11 -04:00
atp870u.c
atp870u.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
bvme6000_scsi.c
ch.c scsi: ch: add refcounting 2017-08-24 22:29:06 -04:00
constants.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dc395x.c
dc395x.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dmx3191d.c scsi: NCR5380: Move bus reset to host reset 2017-08-25 17:21:11 -04:00
dpt_i2o.c scsi: dpt_i2o: remove redundant null check on array device 2017-08-10 19:55:35 -04:00
dpti.h
eata.c scsi: eata: remove 'arg_done' from eata2x_eh_host_reset() 2017-08-25 17:21:12 -04:00
eata_generic.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
eata_pio.c
eata_pio.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
esp_scsi.c scsi: esp_scsi: Always clear msg_out_len after MESSAGE OUT phase 2017-08-10 19:55:35 -04:00
esp_scsi.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fdomain.c scsi: fdomain: move bus reset to host reset 2017-08-25 17:21:10 -04:00
fdomain.h scsi: fdomain: move bus reset to host reset 2017-08-25 17:21:10 -04:00
g_NCR5380.c scsi: NCR5380: Move bus reset to host reset 2017-08-25 17:21:11 -04:00
gdth.c scsi: gdth: avoid buffer overflow warning 2017-08-07 14:04:01 -04:00
gdth.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
gdth_ioctl.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
gdth_proc.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
gdth_proc.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
gvp11.c scsi: drop bus reset for wd33c93-compatible boards 2017-08-25 17:21:10 -04:00
gvp11.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hosts.c scsi: core: introduce force_blk_mq 2018-08-15 18:12:47 +02:00
hpsa.c scsi: hpsa: fix selection of reply queue 2018-08-15 18:12:47 +02:00
hpsa.h scsi: hpsa: fix selection of reply queue 2018-08-15 18:12:47 +02:00
hpsa_cmd.h scsi: hpsa: update identify physical device structure 2017-06-12 20:48:00 -04:00
hptiop.c scsi: hptiop: Simplify reset handling 2017-08-25 17:21:10 -04:00
hptiop.h
imm.c scsi: imm: drop duplicate bus_reset handler 2017-08-25 17:21:11 -04:00
imm.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
initio.c
initio.h
ipr.c scsi: ipr: Set no_report_opcodes for RAID arrays 2017-08-22 22:23:36 -04:00
ipr.h scsi: ipr: Fix scsi-mq lockdep issue 2017-08-08 11:49:51 -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
iscsi_tcp.c scsi: iscsi_tcp: set BDI_CAP_STABLE_WRITES when data digest enabled 2018-05-25 16:17:49 +02:00
iscsi_tcp.h
jazz_esp.c
lasi700.c parisc/scsi/lasi700: Fix section mismatches 2017-08-22 16:34:36 +02:00
libiscsi.c scsi: libiscsi: fix possible NULL pointer dereference in case of TMF 2018-09-05 09:26:24 +02:00
libiscsi_tcp.c
mac53c94.c scsi: Convert to using %pOF instead of full_name 2017-08-07 14:04:02 -04:00
mac53c94.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mac_esp.c scsi: mac_esp: Fix PIO transfers for MESSAGE IN phase 2017-08-10 19:55:34 -04:00
mac_scsi.c scsi: NCR5380: Move bus reset to host reset 2017-08-25 17:21:11 -04:00
megaraid.c scsi: megaraid: silence a static checker bug 2018-08-03 07:50:36 +02:00
megaraid.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mesh.c
mesh.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mvme16x_scsi.c
mvme147.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mvme147.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
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
nsp32.c scsi: nsp32: drop bus reset 2017-08-25 17:21:11 -04:00
nsp32.h
nsp32_debug.c
nsp32_io.h
osst.c scsi: osst: silence underflow warning in osst_verify_frame() 2017-08-24 22:29:01 -04:00
osst.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
osst_detect.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
osst_options.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pmcraid.c scsi: pmcraid: fix duplicated code for different branches 2017-08-24 22:29:05 -04:00
pmcraid.h scsi: pmcraid: Replace PCI pool old API 2017-08-07 14:04:01 -04:00
ppa.c scsi: ppa: drop duplicate bus_reset handler 2017-08-25 17:21:11 -04:00
ppa.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ps3rom.c
qla1280.c ia64, scsi: update references for the device-io book 2017-05-16 08:44:21 -03:00
qla1280.h
qlogicfas.c scsi: qlogicfas: move bus_reset to host_reset 2017-08-25 17:21:11 -04:00
qlogicfas408.c scsi: qlogicfas: move bus_reset to host_reset 2017-08-25 17:21:11 -04:00
qlogicfas408.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
qlogicpti.c scsi: qlogicpti: fixup qlogicpti_reset() definition 2017-08-28 22:15:46 -04:00
qlogicpti.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
raid_class.c
script_asm.pl
scsi.c Merge branch 'fixes' into misc 2017-09-07 12:12:43 -07:00
scsi.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
scsi_common.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
scsi_debug.c scsi: scsi_debug: write_same: fix error report 2017-12-20 10:10:28 +01:00
scsi_debugfs.c scsi: core: Fix a scsi_show_rq() NULL pointer dereference 2017-12-20 10:10:20 +01:00
scsi_debugfs.h scsi: Implement blk_mq_ops.show_rq() 2017-04-26 15:09:04 -06:00
scsi_devinfo.c scsi: devinfo: fix format of the device list 2018-04-26 11:02:10 +02:00
scsi_dh.c scsi: scsi_dh: replace too broad "TP9" string with the exact models 2018-08-03 07:50:40 +02:00
scsi_error.c scsi: core: Avoid that ATA error handling can trigger a kernel hang or oops 2018-03-15 10:54:29 +01:00
scsi_ioctl.c scsi: Suppress gcc 7 fall-through warnings reported with W=1 2017-08-25 17:08:07 -04:00
scsi_lib.c scsi: core: Make SCSI Status CONDITION MET equivalent to GOOD 2018-05-25 16:17:50 +02:00
scsi_lib_dma.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
scsi_logging.c
scsi_logging.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
scsi_module.c
scsi_netlink.c netlink: extended ACK reporting 2017-04-13 13:58:20 -04:00
scsi_pm.c
scsi_priv.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
scsi_proc.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
scsi_sas_internal.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
scsi_scan.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
scsi_sysctl.c
scsi_sysfs.c scsi: core: check for device state in __scsi_remove_target() 2018-02-22 15:42:31 +01:00
scsi_trace.c
scsi_transport_api.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
scsi_transport_fc.c scsi: fc: check for rport presence in fc_block_scsi_eh 2017-10-11 14:33:12 -04:00
scsi_transport_iscsi.c scsi: iscsi: respond to netlink with unicast when appropriate 2018-06-21 04:02:43 +09:00
scsi_transport_sas.c scsi: scsi_transport_sas: switch to bsg-lib for SMP passthrough 2017-08-29 21:51:45 -04: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: scsi_transport_srp: Fix shost to rport translation 2018-06-05 11:41:59 +02:00
scsi_typedefs.h
scsicam.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sd.c scsi: sd: Keep disk read-only when re-reading partition 2018-05-25 16:17:49 +02:00
sd.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sd_dif.c
sd_zbc.c scsi: sd_zbc: Fix variable type and bogus comment 2018-07-25 11:25:06 +02:00
sense_codes.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ses.c scsi: ses: don't ask for diagnostic pages repeatedly during probe 2018-03-19 08:42:51 +01:00
sg.c scsi: sg: fix minor memory leak in error path 2018-08-06 16:20:52 +02:00
sgiwd93.c scsi: drop bus reset for wd33c93-compatible boards 2017-08-25 17:21:10 -04:00
sim710.c
sni_53c710.c scsi: remove incorrect __exit markups 2017-03-15 19:27:46 -04:00
sr.c scsi: sr: Avoid that opening a CD-ROM hangs with runtime power management enabled 2018-08-15 18:12:47 +02:00
sr.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sr_ioctl.c sr: pass down correctly sized SCSI sense buffer 2018-05-30 07:51:49 +02:00
sr_vendor.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
st.c scsi: st: fix blk_get_queue usage 2017-08-08 11:49:51 -04:00
st.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
st_options.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
stex.c scsi: stex: make S6flag static 2017-04-26 18:32:29 -04:00
storvsc_drv.c scsi: storvsc: Set up correct queue depth values for IDE devices 2018-06-21 04:02:46 +09:00
sun3_scsi.c scsi: NCR5380: Move bus reset to host reset 2017-08-25 17:21:11 -04:00
sun3_scsi_vme.c
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: fix IO hang caused by automatic irq vector affinity 2018-08-15 18:12:47 +02:00
vmw_pvscsi.c scsi: vmw-pvscsi: return DID_BUS_BUSY for adapter-initated aborts 2018-06-21 04:02:52 +09:00
vmw_pvscsi.h scsi: vmw_pvscsi: switch to pci_alloc_irq_vectors 2017-01-11 22:31:03 -05:00
wd33c93.c scsi: drop bus reset for wd33c93-compatible boards 2017-08-25 17:21:10 -04:00
wd33c93.h
wd719x.c
wd719x.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
xen-scsifront.c scsi: xen-scsifront: add error handling for xenbus_printf 2018-08-24 13:09:01 +02:00
zalon.c parisc/scsi/zalon: Fix section mismatches 2017-08-22 16:34:36 +02:00
zorro7xx.c