Skip to content

Commit b37c1e4

Browse files
Christoph Hellwigcmaiolino
authored andcommitted
xfs: check that used blocks are smaller than the write pointer
Any used block must have been written, this reject used blocks > write pointer. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Damien Le Moal <dlemoal@kernel.org> Signed-off-by: Carlos Maiolino <cem@kernel.org>
1 parent 19c5b60 commit b37c1e4

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

fs/xfs/xfs_zone_alloc.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1033,6 +1033,13 @@ xfs_init_zone(
10331033
return -EFSCORRUPTED;
10341034
}
10351035

1036+
if (used > write_pointer) {
1037+
xfs_warn(mp,
1038+
"zone %u has used counter (0x%x) larger than write pointer (0x%x).",
1039+
rtg_rgno(rtg), used, write_pointer);
1040+
return -EFSCORRUPTED;
1041+
}
1042+
10361043
if (write_pointer == 0 && used != 0) {
10371044
xfs_warn(mp, "empty zone %u has non-zero used counter (0x%x).",
10381045
rtg_rgno(rtg), used);

0 commit comments

Comments
 (0)