From: Eric Sandeen Date: Wed, 14 Oct 2015 00:03:23 +0000 (+1100) Subject: xfs_metadump: Fix unaligned accesses X-Git-Tag: v4.3.0-rc1~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1bec3a62f642eedbb60b62be128cb5b4a65ba985;p=thirdparty%2Fxfsprogs-dev.git xfs_metadump: Fix unaligned accesses This fixes some unaligned accesses spotted by libubsan in xfs_metadump. Signed-off-by: Eric Sandeen Reviewed-by: Brian Foster Signed-off-by: Dave Chinner --- diff --git a/db/metadump.c b/db/metadump.c index 56b733ef0..e503d6f18 100644 --- a/db/metadump.c +++ b/db/metadump.c @@ -1872,8 +1872,8 @@ scanfunc_bmap( xfs_agnumber_t ag; xfs_agblock_t bno; - ag = XFS_FSB_TO_AGNO(mp, be64_to_cpu(pp[i])); - bno = XFS_FSB_TO_AGBNO(mp, be64_to_cpu(pp[i])); + ag = XFS_FSB_TO_AGNO(mp, get_unaligned_be64(&pp[i])); + bno = XFS_FSB_TO_AGBNO(mp, get_unaligned_be64(&pp[i])); if (bno == 0 || bno > mp->m_sb.sb_agblocks || ag > mp->m_sb.sb_agcount) { @@ -1938,8 +1938,8 @@ process_btinode( xfs_agnumber_t ag; xfs_agblock_t bno; - ag = XFS_FSB_TO_AGNO(mp, be64_to_cpu(pp[i])); - bno = XFS_FSB_TO_AGBNO(mp, be64_to_cpu(pp[i])); + ag = XFS_FSB_TO_AGNO(mp, get_unaligned_be64(&pp[i])); + bno = XFS_FSB_TO_AGBNO(mp, get_unaligned_be64(&pp[i])); if (bno == 0 || bno > mp->m_sb.sb_agblocks || ag > mp->m_sb.sb_agcount) {