On 2017/7/1 上午4:42, [email protected] wrote:
> From: Jan Kara <[email protected]>
> 
> If blkdev_get_by_path() in register_bcache() fails, we try to lookup the
> block device using lookup_bdev() to detect which situation we are in to
> properly report error. However we never drop the reference returned to
> us from lookup_bdev(). Fix that.
> 
> Signed-off-by: Jan Kara <[email protected]>
> Cc: [email protected]

Acked-by: Coly Li <[email protected]>

Thanks.

> ---
>  drivers/md/bcache/super.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/md/bcache/super.c b/drivers/md/bcache/super.c
> index 8352fad..9a2c190 100644
> --- a/drivers/md/bcache/super.c
> +++ b/drivers/md/bcache/super.c
> @@ -1964,6 +1964,8 @@ static ssize_t register_bcache(struct kobject *k, 
> struct kobj_attribute *attr,
>                       else
>                               err = "device busy";
>                       mutex_unlock(&bch_register_lock);
> +                     if (!IS_ERR(bdev))
> +                             bdput(bdev);
>                       if (attr == &ksysfs_register_quiet)
>                               goto out;
>               }
> 


-- 
Coly Li

Reply via email to