]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
xfs: check xfarray iteration errors when committing unlinked inode lists
authorDarrick J. Wong <djwong@kernel.org>
Mon, 27 Jul 2026 05:25:50 +0000 (22:25 -0700)
committerCarlos Maiolino <cem@kernel.org>
Mon, 3 Aug 2026 08:20:43 +0000 (10:20 +0200)
LOLLM noticed that we neglect to check for xfarray_iter itself returning
errors when writing a new AGI.  Fix that.

Cc: stable@vger.kernel.org # v6.10
Fixes: ab97f4b1c03075 ("xfs: repair AGI unlinked inode bucket lists")
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Assisted-by: LOLLM # finding obvious bugs
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
fs/xfs/scrub/agheader_repair.c

index 7f19554843038d48ba7574d02bd553bd993c03b8..8514d2d7e3cea3c0e1e8e68d95b83b5590e4dfbc 100644 (file)
@@ -1675,6 +1675,8 @@ xrep_iunlink_commit(
                if (error)
                        return error;
        }
+       if (error < 0)
+               return error;
 
        /* Fix all the back links */
        idx = XFARRAY_CURSOR_INIT;
@@ -1683,6 +1685,8 @@ xrep_iunlink_commit(
                if (error)
                        return error;
        }
+       if (error < 0)
+               return error;
 
        /* Copy the staged iunlink buckets to the new AGI. */
        for (i = 0; i < XFS_AGI_UNLINKED_BUCKETS; i++) {