diff options
author | Eric Sandeen <sandeen@redhat.com> | 2014-06-12 07:39:58 +0200 |
---|---|---|
committer | Chris Mason <clm@fb.com> | 2014-06-13 18:52:28 +0200 |
commit | 3e2426bd0eb980648449e7a2f5a23e3cd3c7725c (patch) | |
tree | 4e08fc2ba5d9d174882ca9ad40f43327e701db4c /fs/btrfs/transaction.c | |
parent | btrfs: free ulist in qgroup_shared_accounting() error path (diff) | |
download | linux-3e2426bd0eb980648449e7a2f5a23e3cd3c7725c.tar.xz linux-3e2426bd0eb980648449e7a2f5a23e3cd3c7725c.zip |
btrfs: fix use of uninit "ret" in end_extent_writepage()
If this condition in end_extent_writepage() is false:
if (tree->ops && tree->ops->writepage_end_io_hook)
we will then test an uninitialized "ret" at:
ret = ret < 0 ? ret : -EIO;
The test for ret is for the case where ->writepage_end_io_hook
failed, and we'd choose that ret as the error; but if
there is no ->writepage_end_io_hook, nothing sets ret.
Initializing ret to 0 should be sufficient; if
writepage_end_io_hook wasn't set, (!uptodate) means
non-zero err was passed in, so we choose -EIO in that case.
Signed-of-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Chris Mason <clm@fb.com>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions