linux/drivers/s390
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
..
block Merge branch 'for-3.2/core' of git://git.kernel.dk/linux-block 2011-11-04 17:06:58 -07:00
char [S390] zfcpdump: Do not initialize zfcpdump in kdump mode 2011-11-14 11:19:09 +01:00
cio [S390] cio: fix chsc_chp_vary 2011-12-01 13:32:18 +01:00
crypto [S390] ap: Setup timer for sending messages after reset. 2011-12-01 13:32:18 +01:00
kvm Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
net qeth: Reduce CPU consumption through less SIGA-r calls 2011-11-16 17:28:20 -05:00
scsi [SCSI] zfcp: return early from slave_destroy if slave_alloc returned early 2011-12-14 15:40:43 +04:00
Makefile