]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
btrfs: check block group before marking it unused in balance_remap_chunks()
authorMark Harmstone <mark@harmstone.com>
Thu, 19 Feb 2026 19:19:00 +0000 (19:19 +0000)
committerDavid Sterba <dsterba@suse.com>
Tue, 17 Mar 2026 10:43:08 +0000 (11:43 +0100)
commitadbb0ebacc3223a2dc2e58ef3d4c10f5e9653f09
tree2a6a89d83f781932ae2bbaecc65a37fd2f7aa90d
parent057495ccc0ad381015b45d3edf995c2b6b982474
btrfs: check block group before marking it unused in balance_remap_chunks()

Fix a potential segfault in balance_remap_chunks(): if we quit early
because btrfs_inc_block_group_ro() fails, all the remaining items in the
chunks list will still have their bg value set to NULL. It's thus not
safe to dereference this pointer without checking first.

Reported-by: Chris Mason <clm@fb.com>
Link: https://lore.kernel.org/linux-btrfs/20260125120717.1578828-1-clm@meta.com/
Fixes: 81e5a4551c32 ("btrfs: allow balancing remap tree")
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Mark Harmstone <mark@harmstone.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/volumes.c