btrfs: don't drop a reference if btrfs_check_write_meta_pointer() fails
authorJosef Bacik <josef@toxicpanda.com>
Mon, 19 May 2025 18:03:01 +0000 (14:03 -0400)
committerDavid Sterba <dsterba@suse.com>
Tue, 27 May 2025 11:39:15 +0000 (13:39 +0200)
In the zoned mode there's a bug in the extent buffer tree conversion to
xarray. The reference for eb is dropped and code continues but the
references get dropped by releasing the batch.

Reported-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reported-by: kernel test robot <oliver.sang@intel.com>
Link: https://lore.kernel.org/linux-btrfs/202505191521.435b97ac-lkp@intel.com/
Fixes: 19d7f65f032f ("btrfs: convert the buffer_radix to an xarray")
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Tested-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent_io.c

index e43f628..8491997 100644 (file)
@@ -2189,7 +2189,6 @@ retry:
                                        done = 1;
                                        break;
                                }
-                               free_extent_buffer(eb);
                                continue;
                        }