Commit 228de124 authored by Darrick J. Wong's avatar Darrick J. Wong
Browse files

xfs: dabtree scrub needs to range-check level



Make sure scrub's dabtree iterator function checks that we're not
going deeper in the stack than our cursor permits.

Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: default avatarBrian Foster <bfoster@redhat.com>
parent 6958d11f
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -574,6 +574,11 @@ xchk_da_btree(
		/* Drill another level deeper. */
		blkno = be32_to_cpu(key->before);
		level++;
		if (level >= XFS_DA_NODE_MAXDEPTH) {
			/* Too deep! */
			xchk_da_set_corrupt(&ds, level - 1);
			break;
		}
		ds.tree_level--;
		error = xchk_da_btree_block(&ds, level, blkno);
		if (error)