lkml.org 
[lkml]   [2019]   [Dec]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.4 032/187] netfilter: uapi: Avoid undefined left-shift in xt_sctp.h
    Date
    From: Phil Sutter <phil@nwl.cc>

    [ Upstream commit 164166558aacea01b99c8c8ffb710d930405ba69 ]

    With 'bytes(__u32)' being 32, a left-shift of 31 may happen which is
    undefined for the signed 32-bit value 1. Avoid this by declaring 1 as
    unsigned.

    Signed-off-by: Phil Sutter <phil@nwl.cc>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    include/uapi/linux/netfilter/xt_sctp.h | 6 +++---
    1 file changed, 3 insertions(+), 3 deletions(-)

    diff --git a/include/uapi/linux/netfilter/xt_sctp.h b/include/uapi/linux/netfilter/xt_sctp.h
    index 4bc6d1a08781..b4d804a9fccb 100644
    --- a/include/uapi/linux/netfilter/xt_sctp.h
    +++ b/include/uapi/linux/netfilter/xt_sctp.h
    @@ -41,19 +41,19 @@ struct xt_sctp_info {
    #define SCTP_CHUNKMAP_SET(chunkmap, type) \
    do { \
    (chunkmap)[type / bytes(__u32)] |= \
    - 1 << (type % bytes(__u32)); \
    + 1u << (type % bytes(__u32)); \
    } while (0)

    #define SCTP_CHUNKMAP_CLEAR(chunkmap, type) \
    do { \
    (chunkmap)[type / bytes(__u32)] &= \
    - ~(1 << (type % bytes(__u32))); \
    + ~(1u << (type % bytes(__u32))); \
    } while (0)

    #define SCTP_CHUNKMAP_IS_SET(chunkmap, type) \
    ({ \
    ((chunkmap)[type / bytes (__u32)] & \
    - (1 << (type % bytes (__u32)))) ? 1: 0; \
    + (1u << (type % bytes (__u32)))) ? 1: 0; \
    })

    #define SCTP_CHUNKMAP_RESET(chunkmap) \
    --
    2.20.1
    \
     
     \ /
      Last update: 2019-12-27 18:42    [W:7.228 / U:0.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site