Don't error out if the dasd_biodasdinfo symbol is not available. 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> --- block/partitions/ibm.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/block/partitions/ibm.c b/block/partitions/ibm.c index d6e18df9c53c6d..4b044e620d3534 100644 --- a/block/partitions/ibm.c +++ b/block/partitions/ibm.c @@ -305,8 +305,6 @@ int ibm_partition(struct parsed_partitions *state) 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_partitions *state) 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 @@ int ibm_partition(struct parsed_partitions *state) out_nogeo: kfree(info); out_symbol: - symbol_put(dasd_biodasdinfo); + if (fn) + symbol_put(dasd_biodasdinfo); out_exit: return res; } -- 2.28.0
thanks for the quick fix
Reviewed-by: Stefan Haberland <sth@linux.ibm.com>
Am 07.10.20 um 14:40 schrieb Christoph Hellwig:
> Don't error out if the dasd_biodasdinfo symbol is not available.
>
> 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>
> ---
> block/partitions/ibm.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/block/partitions/ibm.c b/block/partitions/ibm.c
> index d6e18df9c53c6d..4b044e620d3534 100644
> --- a/block/partitions/ibm.c
> +++ b/block/partitions/ibm.c
> @@ -305,8 +305,6 @@ int ibm_partition(struct parsed_partitions *state)
> 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_partitions *state)
> 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 @@ int ibm_partition(struct parsed_partitions *state)
> out_nogeo:
> kfree(info);
> out_symbol:
> - symbol_put(dasd_biodasdinfo);
> + if (fn)
> + symbol_put(dasd_biodasdinfo);
> out_exit:
> return res;
> }
On 10/7/20 6:40 AM, Christoph Hellwig wrote:
> Don't error out if the dasd_biodasdinfo symbol is not available.
Should this be marked for 5.8-stable?
--
Jens Axboe
On Wed, Oct 07, 2020 at 07:53:27AM -0600, Jens Axboe wrote:
> On 10/7/20 6:40 AM, Christoph Hellwig wrote:
> > Don't error out if the dasd_biodasdinfo symbol is not available.
>
> Should this be marked for 5.8-stable?
The Fixes tag should automatically take care of that.
On 10/7/20 7:54 AM, Christoph Hellwig wrote:
> On Wed, Oct 07, 2020 at 07:53:27AM -0600, Jens Axboe wrote:
>> On 10/7/20 6:40 AM, Christoph Hellwig wrote:
>>> Don't error out if the dasd_biodasdinfo symbol is not available.
>>
>> Should this be marked for 5.8-stable?
>
> The Fixes tag should automatically take care of that.
Not if it's not marked for stable. Maybe auto-selection will pick it
up, but it's not a given.
--
Jens Axboe
On Wed, Oct 07, 2020 at 07:54:45AM -0600, Jens Axboe wrote:
> On 10/7/20 7:54 AM, Christoph Hellwig wrote:
> > On Wed, Oct 07, 2020 at 07:53:27AM -0600, Jens Axboe wrote:
> >> On 10/7/20 6:40 AM, Christoph Hellwig wrote:
> >>> Don't error out if the dasd_biodasdinfo symbol is not available.
> >>
> >> Should this be marked for 5.8-stable?
> >
> > The Fixes tag should automatically take care of that.
>
> Not if it's not marked for stable. Maybe auto-selection will pick it
> up, but it's not a given.
Yes, trivial patches with a fixes tag get reliably picked out. But
if you don't trust the system feel free to add a stable tag.
On 10/7/20 8:01 AM, Christoph Hellwig wrote:
> On Wed, Oct 07, 2020 at 07:54:45AM -0600, Jens Axboe wrote:
>> On 10/7/20 7:54 AM, Christoph Hellwig wrote:
>>> On Wed, Oct 07, 2020 at 07:53:27AM -0600, Jens Axboe wrote:
>>>> On 10/7/20 6:40 AM, Christoph Hellwig wrote:
>>>>> Don't error out if the dasd_biodasdinfo symbol is not available.
>>>>
>>>> Should this be marked for 5.8-stable?
>>>
>>> The Fixes tag should automatically take care of that.
>>
>> Not if it's not marked for stable. Maybe auto-selection will pick it
>> up, but it's not a given.
>
> Yes, trivial patches with a fixes tag get reliably picked out. But
> if you don't trust the system feel free to add a stable tag.
I prefer being explicit instead of assuming it'll get picked up.
I applied it for 5.9, added the tag.
--
Jens Axboe
On 07.10.20 16:01, Christoph Hellwig wrote:
> On Wed, Oct 07, 2020 at 07:54:45AM -0600, Jens Axboe wrote:
>> On 10/7/20 7:54 AM, Christoph Hellwig wrote:
>>> On Wed, Oct 07, 2020 at 07:53:27AM -0600, Jens Axboe wrote:
>>>> On 10/7/20 6:40 AM, Christoph Hellwig wrote:
>>>>> Don't error out if the dasd_biodasdinfo symbol is not available.
>>>>
>>>> Should this be marked for 5.8-stable?
>>>
>>> The Fixes tag should automatically take care of that.
>>
>> Not if it's not marked for stable. Maybe auto-selection will pick it
>> up, but it's not a given.
>
> Yes, trivial patches with a fixes tag get reliably picked out. But
> if you don't trust the system feel free to add a stable tag.
Yes, we want to have it for 5.8 stable, so a stable tag certainly does not hurt.