Skip to content

Commit 187333e

Browse files
mssolagregkh
authored andcommitted
btrfs: fix memory leaks when rejecting a non SINGLE data profile without an RST
commit fec9b9d upstream. At the end of btrfs_load_block_group_zone_info() the first thing we do is to ensure that if the mapping type is not a SINGLE one and there is no RAID stripe tree, then we return early with an error. Doing that, though, prevents the code from running the last calls from this function which are about freeing memory allocated during its run. Hence, in this case, instead of returning early, we set the ret value and fall through the rest of the cleanup code. Fixes: 5906333 ("btrfs: zoned: don't skip block group profile checks on conventional zones") CC: [email protected] # 6.8+ Reviewed-by: Johannes Thumshirn <[email protected]> Signed-off-by: Miquel Sabaté Solà <[email protected]> Signed-off-by: David Sterba <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent 376b9f4 commit 187333e

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

fs/btrfs/zoned.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1664,7 +1664,7 @@ int btrfs_load_block_group_zone_info(struct btrfs_block_group *cache, bool new)
16641664
!fs_info->stripe_root) {
16651665
btrfs_err(fs_info, "zoned: data %s needs raid-stripe-tree",
16661666
btrfs_bg_type_to_raid_name(map->type));
1667-
return -EINVAL;
1667+
ret = -EINVAL;
16681668
}
16691669

16701670
if (cache->alloc_offset > cache->zone_capacity) {

0 commit comments

Comments
 (0)