linux/drivers/s390/scsi
Steffen Maier 44f747fff6 [SCSI] zfcp: return early from slave_destroy if slave_alloc returned early
zfcp_scsi_slave_destroy erroneously always tried to finish its task
even if the corresponding previous zfcp_scsi_slave_alloc returned
early. This can lead to kernel page faults on accessing uninitialized
fields of struct zfcp_scsi_dev in zfcp_erp_lun_shutdown_wait. Take the
port field of the struct to determine if slave_alloc returned early.

This zfcp bug is exposed by 4e6c82b (in turn fixing f7c9c6b to be
compatible with 21208ae) which can call slave_destroy for a
corresponding previous slave_alloc that did not finish.

This patch is based on James Bottomley's fix suggestion in
http://www.spinics.net/lists/linux-scsi/msg55449.html.

Signed-off-by: Steffen Maier <maier@linux.vnet.ibm.com>
Cc: <stable@kernel.org> #2.6.38+
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2011-12-14 15:40:43 +04:00
..
Makefile [SCSI] zfcp: Move code for managing zfcp_unit devices to new file 2010-09-16 22:54:15 -04:00
zfcp_aux.c s390: add missing module.h/export.h includes 2011-10-31 19:30:58 -04:00
zfcp_ccw.c s390: add missing module.h/export.h includes 2011-10-31 19:30:58 -04:00
zfcp_cfdc.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-01-13 10:05:56 -08:00
zfcp_dbf.c s390: add missing module.h/export.h includes 2011-10-31 19:30:58 -04:00
zfcp_dbf.h [SCSI] zfcp: Redesign of the debug tracing final cleanup. 2010-12-21 12:24:46 -06:00
zfcp_def.h [SCSI] zfcp: support for hardware data router 2011-08-27 08:37:03 -06:00
zfcp_erp.c [SCSI] zfcp: Add information to symbolic port name when running in NPIV mode 2011-02-25 12:02:21 -05:00
zfcp_ext.h [SCSI] zfcp: support for hardware data router 2011-08-27 08:37:03 -06:00
zfcp_fc.c [SCSI] zfcp: Add information to symbolic port name when running in NPIV mode 2011-02-25 12:02:21 -05:00
zfcp_fc.h [SCSI] zfcp: Add information to symbolic port name when running in NPIV mode 2011-02-25 12:02:21 -05:00
zfcp_fsf.c [SCSI] zfcp: support for hardware data router 2011-08-27 08:37:03 -06:00
zfcp_fsf.h [SCSI] zfcp: Introduce experimental support for DIF/DIX 2010-07-28 09:48:56 -05:00
zfcp_qdio.c s390: add missing module.h/export.h includes 2011-10-31 19:30:58 -04:00
zfcp_qdio.h [SCSI] zfcp: support for hardware data router 2011-08-27 08:37:03 -06:00
zfcp_reqlist.h [SCSI] zfcp: Move FSF request tracking code to new file 2010-02-17 17:46:19 -06:00
zfcp_scsi.c [SCSI] zfcp: return early from slave_destroy if slave_alloc returned early 2011-12-14 15:40:43 +04:00
zfcp_sysfs.c [SCSI] zfcp: Redesign of the debug tracing final cleanup. 2010-12-21 12:24:46 -06:00
zfcp_unit.c [SCSI] zfcp: Call get_device on port before calling put_device 2010-10-25 09:42:37 -05:00