> diff --git a/fs/btrfs/backref.c b/fs/btrfs/backref.c > index 8bc5e8c..1ba87c5 100644 > --- a/fs/btrfs/backref.c > +++ b/fs/btrfs/backref.c > @@ -935,6 +935,8 @@ again: > } > ret = find_extent_in_eb(eb, bytenr, > *extent_item_pos, &eie); > + if (ret < 0) > + goto out; > ref->inode_list = eie; > free_extent_buffer(eb); > }
The eb needs to be freed before the goto. And that there's now *three* eb freeing paths in this block should be a hint that it should be refactored into a function that frees the eb before returning. - z -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html