diff mbox series

[1/2] xfs_repair: fix crasher in pf_queuing_worker

Message ID 173214768846.2957531.5698670827220673337.stgit@frogsfrogsfrogs (mailing list archive)
State New
Headers show
Series [1/2] xfs_repair: fix crasher in pf_queuing_worker | expand

Commit Message

Darrick J. Wong Nov. 21, 2024, 12:09 a.m. UTC
From: Darrick J. Wong <djwong@kernel.org>

Don't walk off the end of the inode records when we're skipping inodes
for prefetching.  The skip loop doesn't make sense to me -- why we
ignore the first N inodes but don't care what number they are makes
little sense to me.  But let's fix xfs/155 to crash less, eh?

Cc: <linux-xfs@vger.kernel.org> # v2.10.0
Fixes: 2556c98bd9e6b2 ("Perform true sequential bulk read prefetching in xfs_repair Merge of master-melb:xfs-cmds:29147a by kenmcd.")
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
---
 repair/prefetch.c |    2 ++
 1 file changed, 2 insertions(+)
diff mbox series

Patch

diff --git a/repair/prefetch.c b/repair/prefetch.c
index 998797e3696bac..0772ecef9d73eb 100644
--- a/repair/prefetch.c
+++ b/repair/prefetch.c
@@ -764,6 +764,8 @@  pf_queuing_worker(
 			irec = next_ino_rec(irec);
 			num_inos += XFS_INODES_PER_CHUNK;
 		}
+		if (!irec)
+			break;
 
 		if (args->dirs_only && cur_irec->ino_isa_dir == 0)
 			continue;