]> git.ipfire.org Git - people/ms/linux.git/commit - fs/xfs/xfs_buf.h
xfs: sb verifier doesn't handle uncached sb buffer
authorDave Chinner <dchinner@redhat.com>
Thu, 19 Aug 2021 01:46:24 +0000 (18:46 -0700)
committerDarrick J. Wong <djwong@kernel.org>
Thu, 19 Aug 2021 17:07:11 +0000 (10:07 -0700)
commit8cf07f3dd56195316be97758cb8b4e1d7183ea84
tree089c84cf916bffecd595a7d049f51a94f3f8614e
parente5f2e54a902de721d9cf4e7f7c35612131654cd7
xfs: sb verifier doesn't handle uncached sb buffer

The verifier checks explicitly for bp->b_bn == XFS_SB_DADDR to match
the primary superblock buffer, but the primary superblock is an
uncached buffer and so bp->b_bn is always -1ULL. Hence this never
matches and the CRC error reporting is wholly dependent on the
mount superblock already being populated so CRC feature checks pass
and allow CRC errors to be reported.

Fix this so that the primary superblock CRC error reporting is not
dependent on already having read the superblock into memory.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
fs/xfs/libxfs/xfs_sb.c
fs/xfs/xfs_buf.h