On Thu, Aug 15, 2013 at 01:19:15PM -0500, Eric Sandeen wrote: > The current test in xfs_sb_read_verify() will attempt to validate > an sb checksum if sb_crc is non-zero, even if the superblock is not > marked as being version 5. > > This runs the risk of picking up random garbage in sb_crc for non-V5 > superblocks; such garbage is known to exist in the wild due to prior bugs. > This will cause verification to fail for otherwise non-fatal reasons. > > I'm not sure of the point of trying to validate a non-V5 superblock; > is there one? Shouldn't this || be an &&? (Can sb_crc validly be > 0 for a V5 SB?) > > Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> This looks good to me. Reviewed-by: Ben Myers <bpm@xxxxxxx> > --- > > diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c > index 2b0ba35..5ca299b 100644 > --- a/fs/xfs/xfs_mount.c > +++ b/fs/xfs/xfs_mount.c > @@ -764,7 +764,7 @@ xfs_sb_read_verify( > */ > if (dsb->sb_magicnum == cpu_to_be32(XFS_SB_MAGIC) && > (((be16_to_cpu(dsb->sb_versionnum) & XFS_SB_VERSION_NUMBITS) == > - XFS_SB_VERSION_5) || > + XFS_SB_VERSION_5) && > dsb->sb_crc != 0)) { > > if (!xfs_verify_cksum(bp->b_addr, be16_to_cpu(dsb->sb_sectsize), > > _______________________________________________ > xfs mailing list > xfs@xxxxxxxxxxx > http://oss.sgi.com/mailman/listinfo/xfs _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs