xfs: Fix uninitialized variable in xfs_reflink_reserve_cow_range()
authorGeert Uytterhoeven <[email protected]>
Thu, 20 Oct 2016 04:41:48 +0000 (15:41 +1100)
committerDave Chinner <[email protected]>
Thu, 20 Oct 2016 04:41:48 +0000 (15:41 +1100)
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 <[email protected]>
Reviewed-by: Christoph Hellwig <[email protected]>
Signed-off-by: Dave Chinner <[email protected]>
fs/xfs/xfs_reflink.c

index 5965e9455d91e03621680a08493610085d5a926c..d48a7cc2fe007f6687ce04edde42110dd01f1e6d 100644 (file)
@@ -324,7 +324,7 @@ xfs_reflink_reserve_cow_range(
        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);