Re: [PATCH][xfs-next] xfs: fix uninitialized error variable

From: Darrick J. Wong
Date: Thu Feb 21 2019 - 10:54:40 EST


On Thu, Feb 21, 2019 at 11:22:24AM +0000, Colin King wrote:
> From: Colin Ian King <colin.king@xxxxxxxxxxxxx>
>
> A previous commit removed the initialization of variable 'error' to zero,
> and can cause a bogus error return. This occurs when error contains a
> non-zero garbage value and the call to xchk_should_terminate detects a
> pending fatal signal and checks for a zero error before setting it
> to -EAGAIN. Fix the issue by initializing error to zero.
>
> Fixes: b9454fe056bd ("xfs: clean up the inode cluster checking in the inobt scrub")
> Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>

Thank you for the cleanup!

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

--D

> ---
> fs/xfs/scrub/ialloc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/xfs/scrub/ialloc.c b/fs/xfs/scrub/ialloc.c
> index 2c9dad2b61b1..700114f79a7d 100644
> --- a/fs/xfs/scrub/ialloc.c
> +++ b/fs/xfs/scrub/ialloc.c
> @@ -161,7 +161,7 @@ xchk_iallocbt_check_cluster_ifree(
> bool irec_free;
> bool ino_inuse;
> bool freemask_ok;
> - int error;
> + int error = 0;
>
> if (xchk_should_terminate(bs->sc, &error))
> return error;
> --
> 2.20.1
>