lkml.org 
[lkml]   [2020]   [Nov]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.9 161/252] xfs: strengthen rmap record flags checking
    Date
    From: Darrick J. Wong <darrick.wong@oracle.com>

    [ Upstream commit 498fe261f0d6d5189f8e11d283705dd97b474b54 ]

    We always know the correct state of the rmap record flags (attr, bmbt,
    unwritten) so check them by direct comparison.

    Fixes: d852657ccfc0 ("xfs: cross-reference reverse-mapping btree")
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
    Reviewed-by: Chandan Babu R <chandanrlinux@gmail.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    fs/xfs/scrub/bmap.c | 8 ++++----
    1 file changed, 4 insertions(+), 4 deletions(-)

    diff --git a/fs/xfs/scrub/bmap.c b/fs/xfs/scrub/bmap.c
    index 412e2ec55e388..fed56d213a3f9 100644
    --- a/fs/xfs/scrub/bmap.c
    +++ b/fs/xfs/scrub/bmap.c
    @@ -218,13 +218,13 @@ xchk_bmap_xref_rmap(
    * which doesn't track unwritten state.
    */
    if (owner != XFS_RMAP_OWN_COW &&
    - irec->br_state == XFS_EXT_UNWRITTEN &&
    - !(rmap.rm_flags & XFS_RMAP_UNWRITTEN))
    + !!(irec->br_state == XFS_EXT_UNWRITTEN) !=
    + !!(rmap.rm_flags & XFS_RMAP_UNWRITTEN))
    xchk_fblock_xref_set_corrupt(info->sc, info->whichfork,
    irec->br_startoff);

    - if (info->whichfork == XFS_ATTR_FORK &&
    - !(rmap.rm_flags & XFS_RMAP_ATTR_FORK))
    + if (!!(info->whichfork == XFS_ATTR_FORK) !=
    + !!(rmap.rm_flags & XFS_RMAP_ATTR_FORK))
    xchk_fblock_xref_set_corrupt(info->sc, info->whichfork,
    irec->br_startoff);
    if (rmap.rm_flags & XFS_RMAP_BMBT_BLOCK)
    --
    2.27.0


    \
     
     \ /
      Last update: 2020-11-23 14:40    [W:4.052 / U:0.140 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site