btrfs: zoned: fix memory leak after finding block group with super blocks
authorFilipe Manana <fdmanana@suse.com>
Mon, 3 Jul 2023 11:03:21 +0000 (12:03 +0100)
committerDavid Sterba <dsterba@suse.com>
Tue, 18 Jul 2023 01:12:57 +0000 (03:12 +0200)
commitf1a07c2b4e2c473ec322b8b9ece071b8c88a3512
tree9d9e98e292d26f395a0abe7a1b3d366cd1a7cebb
parent0657b20c5a76c938612f8409735a8830d257866e
btrfs: zoned: fix memory leak after finding block group with super blocks

At exclude_super_stripes(), if we happen to find a block group that has
super blocks mapped to it and we are on a zoned filesystem, we error out
as this is not supposed to happen, indicating either a bug or maybe some
memory corruption for example. However we are exiting the function without
freeing the memory allocated for the logical address of the super blocks.
Fix this by freeing the logical address.

Fixes: 12659251ca5d ("btrfs: implement log-structured superblock for ZONED mode")
CC: stable@vger.kernel.org # 5.10+
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: Anand Jain <anand.jain@oracle.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/block-group.c