Message ID | 20200527210628.9477-1-wu000273@umn.edu (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | lightnvm: pblk: Fix reference count leak in pblk_sysfs_init. | expand |
On 27.05.2020 16:06, wu000273@umn.edu wrote: >From: Qiushi Wu <wu000273@umn.edu> > >kobject_init_and_add() takes reference even when it fails. >Thus, when kobject_init_and_add() returns an error, >kobject_put() must be called to properly clean up the kobject. > >Fixes: a4bd217b4326 ("lightnvm: physical block device (pblk) target") >Signed-off-by: Qiushi Wu <wu000273@umn.edu> >--- > drivers/lightnvm/pblk-sysfs.c | 1 + > 1 file changed, 1 insertion(+) > >diff --git a/drivers/lightnvm/pblk-sysfs.c b/drivers/lightnvm/pblk-sysfs.c >index 6387302b03f2..90f1433b19a2 100644 >--- a/drivers/lightnvm/pblk-sysfs.c >+++ b/drivers/lightnvm/pblk-sysfs.c >@@ -711,6 +711,7 @@ int pblk_sysfs_init(struct gendisk *tdisk) > "%s", "pblk"); > if (ret) { > pblk_err(pblk, "could not register\n"); >+ kobject_put(&pblk->kobj); > return ret; > } > >-- >2.17.1 > Looks good to me. Reviewed-by: Javier González <javier@javigon.com>
On 27/05/2020 23.06, wu000273@umn.edu wrote: > From: Qiushi Wu <wu000273@umn.edu> > > kobject_init_and_add() takes reference even when it fails. > Thus, when kobject_init_and_add() returns an error, > kobject_put() must be called to properly clean up the kobject. > > Fixes: a4bd217b4326 ("lightnvm: physical block device (pblk) target") > Signed-off-by: Qiushi Wu <wu000273@umn.edu> > --- > drivers/lightnvm/pblk-sysfs.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/lightnvm/pblk-sysfs.c b/drivers/lightnvm/pblk-sysfs.c > index 6387302b03f2..90f1433b19a2 100644 > --- a/drivers/lightnvm/pblk-sysfs.c > +++ b/drivers/lightnvm/pblk-sysfs.c > @@ -711,6 +711,7 @@ int pblk_sysfs_init(struct gendisk *tdisk) > "%s", "pblk"); > if (ret) { > pblk_err(pblk, "could not register\n"); > + kobject_put(&pblk->kobj); > return ret; > } > Thanks, Quishi. Signed-off-by: Matias Bjørling <mb@lightnvm.io> Jens, would you kindly pick up the patch? Thank you, Matias
diff --git a/drivers/lightnvm/pblk-sysfs.c b/drivers/lightnvm/pblk-sysfs.c index 6387302b03f2..90f1433b19a2 100644 --- a/drivers/lightnvm/pblk-sysfs.c +++ b/drivers/lightnvm/pblk-sysfs.c @@ -711,6 +711,7 @@ int pblk_sysfs_init(struct gendisk *tdisk) "%s", "pblk"); if (ret) { pblk_err(pblk, "could not register\n"); + kobject_put(&pblk->kobj); return ret; }