Commit 54b9395b authored by Mark Harmstone's avatar Mark Harmstone Committed by David Sterba
Browse files

btrfs: fix chunk map leak in btrfs_map_block() after btrfs_translate_remap()



If the call to btrfs_translate_remap() in btrfs_map_block() returns an
error code, we were leaking the chunk map. Fix it by jumping to out
rather than returning directly.

Reported-by: default avatarChris Mason <clm@fb.com>
Link: https://lore.kernel.org/linux-btrfs/20260125125830.2352988-1-clm@meta.com/


Fixes: 18ba6499 ("btrfs: redirect I/O for remapped block groups")
Reviewed-by: default avatarFilipe Manana <fdmanana@suse.com>
Signed-off-by: default avatarMark Harmstone <mark@harmstone.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent f15fb3d4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -6907,7 +6907,7 @@ int btrfs_map_block(struct btrfs_fs_info *fs_info, enum btrfs_map_op op,

		ret = btrfs_translate_remap(fs_info, &new_logical, length);
		if (ret)
			return ret;
			goto out;

		if (new_logical != logical) {
			btrfs_free_chunk_map(map);