Message ID | 1417428253-3139-1-git-send-email-miaox@cn.fujitsu.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Please ignore this patch, Chris has fixed this problem. Thanks Miao On Mon, 1 Dec 2014 18:04:13 +0800, Miao Xie wrote: > If we failed to reading out the checksum, we would free all the checksums > in the list. But the current code accessed the list head, not the entry > in the list. Fix it. > > Signed-off-by: Miao Xie <miaox@cn.fujitsu.com> > --- > fs/btrfs/file-item.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/fs/btrfs/file-item.c b/fs/btrfs/file-item.c > index 783a943..c26b58f 100644 > --- a/fs/btrfs/file-item.c > +++ b/fs/btrfs/file-item.c > @@ -413,7 +413,8 @@ int btrfs_lookup_csums_range(struct btrfs_root *root, u64 start, u64 end, > ret = 0; > fail: > while (ret < 0 && !list_empty(&tmplist)) { > - sums = list_entry(&tmplist, struct btrfs_ordered_sum, list); > + sums = list_first_entry(&tmplist, struct btrfs_ordered_sum, > + list); > list_del(&sums->list); > kfree(sums); > } > -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/fs/btrfs/file-item.c b/fs/btrfs/file-item.c index 783a943..c26b58f 100644 --- a/fs/btrfs/file-item.c +++ b/fs/btrfs/file-item.c @@ -413,7 +413,8 @@ int btrfs_lookup_csums_range(struct btrfs_root *root, u64 start, u64 end, ret = 0; fail: while (ret < 0 && !list_empty(&tmplist)) { - sums = list_entry(&tmplist, struct btrfs_ordered_sum, list); + sums = list_first_entry(&tmplist, struct btrfs_ordered_sum, + list); list_del(&sums->list); kfree(sums); }
If we failed to reading out the checksum, we would free all the checksums in the list. But the current code accessed the list head, not the entry in the list. Fix it. Signed-off-by: Miao Xie <miaox@cn.fujitsu.com> --- fs/btrfs/file-item.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)