lkml.org 
[lkml]   [2021]   [Nov]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH] drivers/md: fix potential memleak
On Tue, Nov 16, 2021 at 9:57 PM 赵军奎 <bernard@vivo.com> wrote:
>
>
>
> -----邮件原件-----
> 发件人: 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?

I don't think we need to call md_bitmap_destroy in some of these cases.
Please read the code carefully can decide where these are needed based
on the logic of the code.

Thanks,
Song

\
 
 \ /
  Last update: 2021-11-20 08:24    [W:0.081 / U:0.132 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site