• Stefan Haberland's avatar
    s390/dasd: fix inability to use DASD with DIAG driver · 9f4aa523
    Stefan Haberland authored
    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: ce3dc447 ("s390: add support for virtually mapped kernel stacks")
    Signed-off-by: default avatarStefan Haberland <sth@linux.ibm.com>
    Reviewed-by: default avatarPeter Oberparleiter <oberpar@linux.ibm.com>
    Cc: stable@vger.kernel.org #4.20
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    9f4aa523
dasd_diag.c 18.6 KB