lkml.org 
[lkml]   [2020]   [Oct]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.8 011/124] partitions/ibm: fix non-DASD devices
    Date
    From: Christoph Hellwig <hch@lst.de>

    commit 7370997d48520ad923e8eb4deb59ebf290396202 upstream.

    Don't error out if the dasd_biodasdinfo symbol is not available.

    Cc: stable@vger.kernel.org
    Fixes: 26d7e28e3820 ("s390/dasd: remove ioctl_by_bdev calls")
    Reported-by: Christian Borntraeger <borntraeger@de.ibm.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Tested-by: Christian Borntraeger <borntraeger@de.ibm.com>
    Reviewed-by: Stefan Haberland <sth@linux.ibm.com>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    block/partitions/ibm.c | 7 +++----
    1 file changed, 3 insertions(+), 4 deletions(-)

    --- a/block/partitions/ibm.c
    +++ b/block/partitions/ibm.c
    @@ -305,8 +305,6 @@ int ibm_partition(struct parsed_partitio
    if (!disk->fops->getgeo)
    goto out_exit;
    fn = symbol_get(dasd_biodasdinfo);
    - if (!fn)
    - goto out_exit;
    blocksize = bdev_logical_block_size(bdev);
    if (blocksize <= 0)
    goto out_symbol;
    @@ -326,7 +324,7 @@ int ibm_partition(struct parsed_partitio
    geo->start = get_start_sect(bdev);
    if (disk->fops->getgeo(bdev, geo))
    goto out_freeall;
    - if (fn(disk, info)) {
    + if (!fn || fn(disk, info)) {
    kfree(info);
    info = NULL;
    }
    @@ -370,7 +368,8 @@ out_nolab:
    out_nogeo:
    kfree(info);
    out_symbol:
    - symbol_put(dasd_biodasdinfo);
    + if (fn)
    + symbol_put(dasd_biodasdinfo);
    out_exit:
    return res;
    }

    \
     
     \ /
      Last update: 2020-10-12 15:57    [W:4.093 / U:0.268 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site