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

From: Darrick J. Wong
Date: Mon Oct 17 2016 - 14:36:23 EST


On Mon, Oct 17, 2016 at 12:16:44PM +0200, Geert Uytterhoeven wrote:
> 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>

Reviewed-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>

> ---
> 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
>