diff mbox

btrfs: Fix extent map leak in find_first_block_group

Message ID 20160824041300.20072-1-quwenruo@cn.fujitsu.com (mailing list archive)
State Superseded
Headers show

Commit Message

Qu Wenruo Aug. 24, 2016, 4:13 a.m. UTC
The following commit introduced the extent map leak:
commit 6fb37b756acce6d6e045f79c3764206033f617b4
Author: Liu Bo <bo.li.liu@oracle.com>
Date:   Wed Jun 22 18:31:27 2016 -0700

    Btrfs: check inconsistence between chunk and block group

This leads to slab warning at rmmod time.

Cc: Liu Bo <bo.li.liu@oracle.com>
Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
---
 fs/btrfs/extent-tree.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Filipe Manana Aug. 24, 2016, 8:54 a.m. UTC | #1
On Wed, Aug 24, 2016 at 5:13 AM, Qu Wenruo <quwenruo@cn.fujitsu.com> wrote:
> The following commit introduced the extent map leak:
> commit 6fb37b756acce6d6e045f79c3764206033f617b4
> Author: Liu Bo <bo.li.liu@oracle.com>
> Date:   Wed Jun 22 18:31:27 2016 -0700
>
>     Btrfs: check inconsistence between chunk and block group
>
> This leads to slab warning at rmmod time.
>
> Cc: Liu Bo <bo.li.liu@oracle.com>
> Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>

https://patchwork.kernel.org/patch/9288751/

> ---
>  fs/btrfs/extent-tree.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
> index c2b81b0..e621823 100644
> --- a/fs/btrfs/extent-tree.c
> +++ b/fs/btrfs/extent-tree.c
> @@ -9905,6 +9905,7 @@ static int find_first_block_group(struct btrfs_root *root,
>                                 ret = -ENOENT;
>                         } else {
>                                 ret = 0;
> +                               free_extent_map(em);
>                         }
>                         goto out;
>                 }
> --
> 2.7.4
>
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
Liu Bo Aug. 24, 2016, 6:24 p.m. UTC | #2
On Wed, Aug 24, 2016 at 09:54:16AM +0100, Filipe Manana wrote:
> On Wed, Aug 24, 2016 at 5:13 AM, Qu Wenruo <quwenruo@cn.fujitsu.com> wrote:
> > The following commit introduced the extent map leak:
> > commit 6fb37b756acce6d6e045f79c3764206033f617b4
> > Author: Liu Bo <bo.li.liu@oracle.com>
> > Date:   Wed Jun 22 18:31:27 2016 -0700
> >
> >     Btrfs: check inconsistence between chunk and block group
> >
> > This leads to slab warning at rmmod time.
> >
> > Cc: Liu Bo <bo.li.liu@oracle.com>
> > Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
> 
> https://patchwork.kernel.org/patch/9288751/

Thanks to all for fixing this.

Thanks,

-liubo

> 
> > ---
> >  fs/btrfs/extent-tree.c | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
> > index c2b81b0..e621823 100644
> > --- a/fs/btrfs/extent-tree.c
> > +++ b/fs/btrfs/extent-tree.c
> > @@ -9905,6 +9905,7 @@ static int find_first_block_group(struct btrfs_root *root,
> >                                 ret = -ENOENT;
> >                         } else {
> >                                 ret = 0;
> > +                               free_extent_map(em);
> >                         }
> >                         goto out;
> >                 }
> > --
> > 2.7.4
> >
> >
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 
> 
> -- 
> Filipe David Manana,
> 
> "People will forget what you said,
>  people will forget what you did,
>  but people will never forget how you made them feel."
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index c2b81b0..e621823 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -9905,6 +9905,7 @@  static int find_first_block_group(struct btrfs_root *root,
 				ret = -ENOENT;
 			} else {
 				ret = 0;
+				free_extent_map(em);
 			}
 			goto out;
 		}