diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index e78ab29f8f1b2..076fd7484a820 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c @@ -7981,6 +7981,7 @@ static int account_shared_subtree(struct btrfs_trans_handle *trans, eb = read_tree_block(root, child_bytenr, child_gen); if (!eb || !extent_buffer_uptodate(eb)) { ret = -EIO; + free_extent_buffer(eb); goto out; }