Messages in this thread Patch in this message | | | From | 赵军奎 <> | Subject | 答复: [PATCH] drivers/md: fix potential mem leak | Date | Wed, 17 Nov 2021 07:57:39 +0000 |
| |
-----邮件原件----- 发件人: bernard@vivo.com <bernard@vivo.com> 代表 Song Liu 发送时间: 2021年11月17日 15:06 收件人: 赵军奎 <bernard@vivo.com> 抄送: linux-raid <linux-raid@vger.kernel.org>; open list <linux-kernel@vger.kernel.org> 主题: Re: [PATCH] drivers/md: fix potential memleak
On Sun, Nov 14, 2021 at 7:18 PM Bernard Zhao <bernard@vivo.com> wrote: > > In function get_bitmap_from_slot, when md_bitmap_create failed, > md_bitmap_destroy must be called to do clean up.
>Could you please explain which variable(s) need clean up?
Hi Song: The follow is the function md_bitmap_create`s annotation : /* * initialize the bitmap structure * if this returns an error, bitmap_destroy must be called to do clean up * once mddev->bitmap is set */ struct bitmap *md_bitmap_create(struct mddev *mddev, int slot)
It is mentioned that bitmap_destroy needs to be called to do clean up. Other functions which called md_bitmap_create in the same file also called md_bitmap_create to clean up(in the error branch), but this one didn`t. I am not sure if there is some gap? Thanks! BR//Bernard
>Thanks, >Song
> > Signed-off-by: Bernard Zhao <bernard@vivo.com> > --- > drivers/md/md-bitmap.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/md/md-bitmap.c b/drivers/md/md-bitmap.c index > bfd6026d7809..a227bd0b9301 100644 > --- a/drivers/md/md-bitmap.c > +++ b/drivers/md/md-bitmap.c > @@ -1961,6 +1961,7 @@ struct bitmap *get_bitmap_from_slot(struct mddev *mddev, int slot) > bitmap = md_bitmap_create(mddev, slot); > if (IS_ERR(bitmap)) { > rv = PTR_ERR(bitmap); > + md_bitmap_destroy(mddev) > return ERR_PTR(rv); > } > > -- > 2.33.1 >
| |