xfs: Fix uninitialized variable in xfs_reflink_reserve_cow_range()
authorGeert Uytterhoeven <geert@linux-m68k.org>
Thu, 20 Oct 2016 04:41:48 +0000 (15:41 +1100)
committerDave Chinner <david@fromorbit.com>
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 <geert@linux-m68k.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
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);