[PATCH] xfs: Fix uninitialized variable in xfs_reflink_reserve_cow_range()

From: Geert Uytterhoeven
Date: Mon Oct 17 2016 - 06:16:53 EST


with gcc 4.1.2:

fs/xfs/xfs_reflink.c: In function âxfs_reflink_reserve_cow_rangeâ:
fs/xfs/xfs_reflink.c:327: warning: âerrorâ may be used uninitialized in this function

Indeed, if "count" is zero, the function will return an uninitialized
error value.

While "count" is unlikely to be zero, this function is called through
the public iomap API. Hence fix this by preinitializing error to zero.

Fixes: 2a06705cd5954030 ("xfs: create delalloc extents in CoW fork")
Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
---
fs/xfs/xfs_reflink.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/xfs/xfs_reflink.c b/fs/xfs/xfs_reflink.c
index 5965e9455d91e036..d48a7cc2fe007f66 100644
--- a/fs/xfs/xfs_reflink.c
+++ b/fs/xfs/xfs_reflink.c
@@ -324,7 +324,7 @@
struct xfs_mount *mp = ip->i_mount;
xfs_fileoff_t offset_fsb, end_fsb;
bool skipped = false;
- int error;
+ int error = 0;

trace_xfs_reflink_reserve_cow_range(ip, offset, count);

--
1.9.1