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

btrfs: check block group lookup in remove_range_from_remap_tree()



Add a check in remove_range_from_remap_tree() after we call
btrfs_lookup_block_group(), to check if it is NULL. This shouldn't
happen, but if it does we at least get an error rather than a segfault.

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


Fixes: 979e1dc3 ("btrfs: handle deletions from remapped block group")
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 7885ca40
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -5985,6 +5985,9 @@ static int remove_range_from_remap_tree(struct btrfs_trans_handle *trans,
		struct btrfs_block_group *dest_bg;

		dest_bg = btrfs_lookup_block_group(fs_info, new_addr);
		if (unlikely(!dest_bg))
			return -EUCLEAN;

		adjust_block_group_remap_bytes(trans, dest_bg, -overlap_length);
		btrfs_put_block_group(dest_bg);
		ret = btrfs_add_to_free_space_tree(trans,