In btrfs_read_block_groups(), if we have an invalid block group which has mixed type (DATA|METADATA) while the fs doesn't have MIX_BGS feature, we error out without freeing the block group cache.
This patch will add the missing btrfs_put_block_group() to prevent memory leak. Fixes: 49303381f19a ("Btrfs: bail out if block group has different mixed flag") Signed-off-by: Qu Wenruo <w...@suse.com> --- fs/btrfs/block-group.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/btrfs/block-group.c b/fs/btrfs/block-group.c index bf7e3f23bba7..c906a2b6c2cf 100644 --- a/fs/btrfs/block-group.c +++ b/fs/btrfs/block-group.c @@ -1762,6 +1762,7 @@ int btrfs_read_block_groups(struct btrfs_fs_info *info) "bg %llu is a mixed block group but filesystem hasn't enabled mixed block groups", cache->key.objectid); ret = -EINVAL; + btrfs_put_block_group(cache); goto error; } -- 2.23.0