On 2017/7/1 上午4:42, bcache@xxxxxxxxxxxxxxxxxx wrote: > From: Jan Kara <jack@xxxxxxx> > > 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 <jack@xxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx Acked-by: Coly Li <colyli@xxxxxxx> 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