summary refs log tree commit diff
path: root/drivers/cpuidle/cpuidle-calxeda.c
diff options
context:
space:
mode:
authorStefan Haberland <stefan.haberland@de.ibm.com>2015-07-10 10:47:09 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2015-07-13 11:02:14 +0200
commitf81a49d13b3014c2b7c424628779a8af93f25c04 (patch)
tree5acd89ff363fcf1f1da4b082a798aed0709f5efe /drivers/cpuidle/cpuidle-calxeda.c
parentf9c87a6f46d508eae0d9ae640be98d50f237f827 (diff)
downloadlinux-f81a49d13b3014c2b7c424628779a8af93f25c04.tar.gz
s390/dasd: fix kernel panic when alias is set offline
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>
Diffstat (limited to 'drivers/cpuidle/cpuidle-calxeda.c')
0 files changed, 0 insertions, 0 deletions