]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfs: add inode magic to inode verifier
authorDarrick J. Wong <darrick.wong@oracle.com>
Mon, 6 May 2019 22:00:28 +0000 (18:00 -0400)
committerEric Sandeen <sandeen@redhat.com>
Mon, 6 May 2019 22:00:28 +0000 (18:00 -0400)
Source kernel commit: 2bfe7069f71e56a301976d08eae3027b1eebc30d

Use xfs_verify_magic to check the magic numbers of inodes.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
libxfs/xfs_inode_buf.c

index 89c92838a0f7017a3c2e3582a2b1f0e6688ed960..8b88e0e6487ad066f92ecd69a6a577c5d298b35f 100644 (file)
@@ -93,7 +93,7 @@ xfs_inode_buf_verify(
 
                dip = xfs_buf_offset(bp, (i << mp->m_sb.sb_inodelog));
                unlinked_ino = be32_to_cpu(dip->di_next_unlinked);
-               di_ok = dip->di_magic == cpu_to_be16(XFS_DINODE_MAGIC) &&
+               di_ok = xfs_verify_magic(bp, dip->di_magic) &&
                        xfs_dinode_good_version(mp, dip->di_version) &&
                        xfs_verify_agino_or_null(mp, agno, unlinked_ino);
                if (unlikely(XFS_TEST_ERROR(!di_ok, mp,
@@ -142,12 +142,16 @@ xfs_inode_buf_write_verify(
 
 const struct xfs_buf_ops xfs_inode_buf_ops = {
        .name = "xfs_inode",
+       .magic = { cpu_to_be16(XFS_DINODE_MAGIC),
+                  cpu_to_be16(XFS_DINODE_MAGIC) },
        .verify_read = xfs_inode_buf_read_verify,
        .verify_write = xfs_inode_buf_write_verify,
 };
 
 const struct xfs_buf_ops xfs_inode_buf_ra_ops = {
        .name = "xfs_inode_ra",
+       .magic = { cpu_to_be16(XFS_DINODE_MAGIC),
+                  cpu_to_be16(XFS_DINODE_MAGIC) },
        .verify_read = xfs_inode_buf_readahead_verify,
        .verify_write = xfs_inode_buf_write_verify,
 };