lkml.org 
[lkml]   [2018]   [Feb]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.4 49/67] xfs: ubsan fixes
    Date
    4.4-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: "Darrick J. Wong" <darrick.wong@oracle.com>


    [ Upstream commit 22a6c83777ac7c17d6c63891beeeac24cf5da450 ]

    Fix some complaints from the UBSAN about signed integer addition overflows.

    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
    Reviewed-by: Brian Foster <bfoster@redhat.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    fs/xfs/xfs_aops.c | 6 +++---
    1 file changed, 3 insertions(+), 3 deletions(-)

    --- a/fs/xfs/xfs_aops.c
    +++ b/fs/xfs/xfs_aops.c
    @@ -310,7 +310,7 @@ xfs_map_blocks(
    (ip->i_df.if_flags & XFS_IFEXTENTS));
    ASSERT(offset <= mp->m_super->s_maxbytes);

    - if (offset + count > mp->m_super->s_maxbytes)
    + if ((xfs_ufsize_t)offset + count > mp->m_super->s_maxbytes)
    count = mp->m_super->s_maxbytes - offset;
    end_fsb = XFS_B_TO_FSB(mp, (xfs_ufsize_t)offset + count);
    offset_fsb = XFS_B_TO_FSBT(mp, offset);
    @@ -1360,7 +1360,7 @@ xfs_map_trim_size(
    if (mapping_size > size)
    mapping_size = size;
    if (offset < i_size_read(inode) &&
    - offset + mapping_size >= i_size_read(inode)) {
    + (xfs_ufsize_t)offset + mapping_size >= i_size_read(inode)) {
    /* limit mapping to block that spans EOF */
    mapping_size = roundup_64(i_size_read(inode) - offset,
    i_blocksize(inode));
    @@ -1416,7 +1416,7 @@ __xfs_get_blocks(
    }

    ASSERT(offset <= mp->m_super->s_maxbytes);
    - if (offset + size > mp->m_super->s_maxbytes)
    + if ((xfs_ufsize_t)offset + size > mp->m_super->s_maxbytes)
    size = mp->m_super->s_maxbytes - offset;
    end_fsb = XFS_B_TO_FSB(mp, (xfs_ufsize_t)offset + size);
    offset_fsb = XFS_B_TO_FSBT(mp, offset);

    \
     
     \ /
      Last update: 2018-02-02 18:04    [W:4.106 / U:0.196 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site