f81a49d13b
The dasd device driver selects which (alias or base) device is used for a given requests when the request is build. If the chosen alias device is set offline before the request gets queued to the device queue the starting function may use device structures that are already freed. This might lead to a hanging offline process or a kernel panic. Add a check to the starting function that returns the request to the upper layer if the device is already in offline processing. In addition to that prevent that an alias device that's already in offline processing gets chosen as start device. Reviewed-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Reviewed-by: Peter Oberparleiter <peter.oberparleiter@linux.vnet.ibm.com> Signed-off-by: Stefan Haberland <stefan.haberland@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> |
||
---|---|---|
.. | ||
dasd_3990_erp.c | ||
dasd_alias.c | ||
dasd_devmap.c | ||
dasd_diag.c | ||
dasd_diag.h | ||
dasd_eckd.c | ||
dasd_eckd.h | ||
dasd_eer.c | ||
dasd_erp.c | ||
dasd_fba.c | ||
dasd_fba.h | ||
dasd_genhd.c | ||
dasd_int.h | ||
dasd_ioctl.c | ||
dasd_proc.c | ||
dasd.c | ||
dcssblk.c | ||
Kconfig | ||
Makefile | ||
scm_blk_cluster.c | ||
scm_blk.c | ||
scm_blk.h | ||
scm_drv.c | ||
xpram.c |