xfs: dont cast to char * for XFS_DFORK_*PTR macros
authorDarrick J. Wong <djwong@kernel.org>
Fri, 15 Dec 2023 18:03:35 +0000 (10:03 -0800)
committerDarrick J. Wong <djwong@kernel.org>
Fri, 15 Dec 2023 18:03:35 +0000 (10:03 -0800)
Code in the next patch will assign the return value of XFS_DFORK_*PTR
macros to a struct pointer.  gcc complains about casting char* strings
to struct pointers, so let's fix the macro's cast to void* to shut up
the warnings.

While we're at it, fix one of the scrub tests that uses PTR to use BOFF
instead for a simpler integer comparison, since other linters whine
about char* and void* comparisons.

Can't satisfy all these dman bots.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
fs/xfs/libxfs/xfs_format.h
fs/xfs/scrub/inode.c

index 9a88aba1589f87b45c470c8a8ec9a3a559a4c86d..f16974126ff929d2669ccc9f7bf76ba3dc277d7a 100644 (file)
@@ -1008,7 +1008,7 @@ enum xfs_dinode_fmt {
  * Return pointers to the data or attribute forks.
  */
 #define XFS_DFORK_DPTR(dip) \
-       ((char *)dip + xfs_dinode_size(dip->di_version))
+       ((void *)dip + xfs_dinode_size(dip->di_version))
 #define XFS_DFORK_APTR(dip)    \
        (XFS_DFORK_DPTR(dip) + XFS_DFORK_BOFF(dip))
 #define XFS_DFORK_PTR(dip,w)   \
index 6c40f3e020eaeec983b3584d95d852c92218f721..a81f070b0cd212b22e81ae8a2d546b46e0469732 100644 (file)
@@ -556,7 +556,7 @@ xchk_dinode(
        }
 
        /* di_forkoff */
-       if (XFS_DFORK_APTR(dip) >= (char *)dip + mp->m_sb.sb_inodesize)
+       if (XFS_DFORK_BOFF(dip) >= mp->m_sb.sb_inodesize)
                xchk_ino_set_corrupt(sc, ino);
        if (naextents != 0 && dip->di_forkoff == 0)
                xchk_ino_set_corrupt(sc, ino);