“d3243e3efcf34e720426f8a87e37276c9a601038”上不存在“...provider/git@gitcode.net:openanolis/dragonwell8_jdk.git”
提交 e34d3e74 编写于 作者: B Brian Foster 提交者: Darrick J. Wong

xfs: always check magic values in on-disk byte order

Most verifiers that check on-disk magic values convert the CPU
endian magic value constant to disk endian to facilitate compile
time optimization of the byte swap and reduce the need for runtime
byte swaps in buffer verifiers. Several buffer verifiers do not
follow this pattern. Update those verifiers for consistency.

Also fix up a random typo in the inode readahead verifier name.
Signed-off-by: NBrian Foster <bfoster@redhat.com>
Reviewed-by: NDarrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: NDarrick J. Wong <darrick.wong@oracle.com>
上级 75d02303
...@@ -570,7 +570,7 @@ xfs_agfl_verify( ...@@ -570,7 +570,7 @@ xfs_agfl_verify(
if (!uuid_equal(&agfl->agfl_uuid, &mp->m_sb.sb_meta_uuid)) if (!uuid_equal(&agfl->agfl_uuid, &mp->m_sb.sb_meta_uuid))
return __this_address; return __this_address;
if (be32_to_cpu(agfl->agfl_magicnum) != XFS_AGFL_MAGIC) if (agfl->agfl_magicnum != cpu_to_be32(XFS_AGFL_MAGIC))
return __this_address; return __this_address;
/* /*
* during growfs operations, the perag is not fully initialised, * during growfs operations, the perag is not fully initialised,
......
...@@ -251,7 +251,7 @@ xfs_attr3_leaf_verify( ...@@ -251,7 +251,7 @@ xfs_attr3_leaf_verify(
if (xfs_sb_version_hascrc(&mp->m_sb)) { if (xfs_sb_version_hascrc(&mp->m_sb)) {
struct xfs_da3_node_hdr *hdr3 = bp->b_addr; struct xfs_da3_node_hdr *hdr3 = bp->b_addr;
if (ichdr.magic != XFS_ATTR3_LEAF_MAGIC) if (hdr3->info.hdr.magic != cpu_to_be16(XFS_ATTR3_LEAF_MAGIC))
return __this_address; return __this_address;
if (!uuid_equal(&hdr3->info.uuid, &mp->m_sb.sb_meta_uuid)) if (!uuid_equal(&hdr3->info.uuid, &mp->m_sb.sb_meta_uuid))
...@@ -261,7 +261,7 @@ xfs_attr3_leaf_verify( ...@@ -261,7 +261,7 @@ xfs_attr3_leaf_verify(
if (!xfs_log_check_lsn(mp, be64_to_cpu(hdr3->info.lsn))) if (!xfs_log_check_lsn(mp, be64_to_cpu(hdr3->info.lsn)))
return __this_address; return __this_address;
} else { } else {
if (ichdr.magic != XFS_ATTR_LEAF_MAGIC) if (leaf->hdr.info.magic != cpu_to_be16(XFS_ATTR_LEAF_MAGIC))
return __this_address; return __this_address;
} }
/* /*
......
...@@ -132,7 +132,7 @@ xfs_da3_node_verify( ...@@ -132,7 +132,7 @@ xfs_da3_node_verify(
if (xfs_sb_version_hascrc(&mp->m_sb)) { if (xfs_sb_version_hascrc(&mp->m_sb)) {
struct xfs_da3_node_hdr *hdr3 = bp->b_addr; struct xfs_da3_node_hdr *hdr3 = bp->b_addr;
if (ichdr.magic != XFS_DA3_NODE_MAGIC) if (hdr3->info.hdr.magic != cpu_to_be16(XFS_DA3_NODE_MAGIC))
return __this_address; return __this_address;
if (!uuid_equal(&hdr3->info.uuid, &mp->m_sb.sb_meta_uuid)) if (!uuid_equal(&hdr3->info.uuid, &mp->m_sb.sb_meta_uuid))
...@@ -142,7 +142,7 @@ xfs_da3_node_verify( ...@@ -142,7 +142,7 @@ xfs_da3_node_verify(
if (!xfs_log_check_lsn(mp, be64_to_cpu(hdr3->info.lsn))) if (!xfs_log_check_lsn(mp, be64_to_cpu(hdr3->info.lsn)))
return __this_address; return __this_address;
} else { } else {
if (ichdr.magic != XFS_DA_NODE_MAGIC) if (hdr->hdr.info.magic != cpu_to_be16(XFS_DA_NODE_MAGIC))
return __this_address; return __this_address;
} }
if (ichdr.level == 0) if (ichdr.level == 0)
......
...@@ -151,7 +151,7 @@ const struct xfs_buf_ops xfs_inode_buf_ops = { ...@@ -151,7 +151,7 @@ const struct xfs_buf_ops xfs_inode_buf_ops = {
}; };
const struct xfs_buf_ops xfs_inode_buf_ra_ops = { const struct xfs_buf_ops xfs_inode_buf_ra_ops = {
.name = "xxfs_inode_ra", .name = "xfs_inode_ra",
.verify_read = xfs_inode_buf_readahead_verify, .verify_read = xfs_inode_buf_readahead_verify,
.verify_write = xfs_inode_buf_write_verify, .verify_write = xfs_inode_buf_write_verify,
}; };
......
...@@ -225,10 +225,11 @@ xfs_validate_sb_common( ...@@ -225,10 +225,11 @@ xfs_validate_sb_common(
struct xfs_buf *bp, struct xfs_buf *bp,
struct xfs_sb *sbp) struct xfs_sb *sbp)
{ {
struct xfs_dsb *dsb = XFS_BUF_TO_SBP(bp);
uint32_t agcount = 0; uint32_t agcount = 0;
uint32_t rem; uint32_t rem;
if (sbp->sb_magicnum != XFS_SB_MAGIC) { if (dsb->sb_magicnum != cpu_to_be32(XFS_SB_MAGIC)) {
xfs_warn(mp, "bad magic number"); xfs_warn(mp, "bad magic number");
return -EWRONGFS; return -EWRONGFS;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册