xfs: sb verifier doesn't handle uncached sb buffer
mainline inclusion from mainline-v5.14-rc4 commit 8cf07f3d category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/I76JSK CVE: NA Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8cf07f3dd56195316be97758cb8b4e1d7183ea84 -------------------------------- 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> Signed-off-by:
Guo Xuenan <guoxuenan@huawei.com> Conflicts: fs/xfs/libxfs/xfs_sb.c Signed-off-by:
Long Li <leo.lilong@huawei.com>
Loading
Please sign in to comment