From: Colin Ian King <[email protected]>

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 <[email protected]>
---
 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

Reply via email to