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