]> git.itanic.dy.fi Git - linux-stable/commit
s390/dasd: fix inability to use DASD with DIAG driver
authorStefan Haberland <sth@linux.ibm.com>
Tue, 14 Jul 2020 20:03:26 +0000 (22:03 +0200)
committerJens Axboe <axboe@kernel.dk>
Wed, 15 Jul 2020 14:47:11 +0000 (08:47 -0600)
commit9f4aa52387c68049403b59939df5c0dd8e3872cc
tree152cd5c687cca06c8ec40ea71e46836c34b0ad68
parent2eaac320db515b2ec681f6a4bad4f67a7be84ce8
s390/dasd: fix inability to use DASD with DIAG driver

During initialization of the DASD DIAG driver a request is issued
that has a bio structure that resides on the stack. With virtually
mapped kernel stacks this bio address might be in virtual storage
which is unsuitable for usage with the diag250 call.
In this case the device can not be set online using the DIAG
discipline and fails with -EOPNOTSUP.
In the system journal the following error message is presented:

dasd: X.X.XXXX Setting the DASD online with discipline DIAG failed
with rc=-95

Fix by allocating the bio structure instead of having it on the stack.

Fixes: ce3dc447493f ("s390: add support for virtually mapped kernel stacks")
Signed-off-by: Stefan Haberland <sth@linux.ibm.com>
Reviewed-by: Peter Oberparleiter <oberpar@linux.ibm.com>
Cc: stable@vger.kernel.org #4.20
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/s390/block/dasd_diag.c