btrfs: tests: fix chunk map leak after failure to add it to the tree
authorFilipe Manana <fdmanana@suse.com>
Tue, 11 Mar 2025 15:50:50 +0000 (15:50 +0000)
committerDavid Sterba <dsterba@suse.com>
Tue, 18 Mar 2025 19:35:51 +0000 (20:35 +0100)
If we fail to add the chunk map to the fs mapping tree we exit
test_rmap_block() without freeing the chunk map. Fix this by adding a
call to btrfs_free_chunk_map() before exiting the test function if the
call to btrfs_add_chunk_map() failed.

Fixes: 7dc66abb5a47 ("btrfs: use a dedicated data structure for chunk maps")
CC: stable@vger.kernel.org # 6.12+
Reviewed-by: Boris Burkov <boris@bur.io>
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/tests/extent-map-tests.c

index 56e61ac1cc64c87d4dde3e6ddf92a4daaef650d3..609bb6c9c0873f0a8007092e71be71d063d16c22 100644 (file)
@@ -1045,6 +1045,7 @@ static int test_rmap_block(struct btrfs_fs_info *fs_info,
        ret = btrfs_add_chunk_map(fs_info, map);
        if (ret) {
                test_err("error adding chunk map to mapping tree");
+               btrfs_free_chunk_map(map);
                goto out_free;
        }