lkml.org 
[lkml]   [2019]   [Mar]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] 3c515: fix integer overflow warning
    Date
    clang points out a harmless signed integer overflow:

    drivers/net/ethernet/3com/3c515.c:1530:66: error: implicit conversion from 'int' to 'short' changes value from 32783 to -32753 [-Werror,-Wconstant-conversion]
    new_mode = SetRxFilter | RxStation | RxMulticast | RxBroadcast | RxProm;
    ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
    drivers/net/ethernet/3com/3c515.c:1532:52: error: implicit conversion from 'int' to 'short' changes value from 32775 to -32761 [-Werror,-Wconstant-conversion]
    new_mode = SetRxFilter | RxStation | RxMulticast | RxBroadcast;
    ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
    drivers/net/ethernet/3com/3c515.c:1534:38: error: implicit conversion from 'int' to 'short' changes value from 32773 to -32763 [-Werror,-Wconstant-conversion]
    new_mode = SetRxFilter | RxStation | RxBroadcast;
    ~ ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~

    Make the variable unsigned to avoid the overflow.

    Fixes: Linux-2.1.128pre1
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    ---
    drivers/net/ethernet/3com/3c515.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/net/ethernet/3com/3c515.c b/drivers/net/ethernet/3com/3c515.c
    index 808abb6b3671..b15752267c8d 100644
    --- a/drivers/net/ethernet/3com/3c515.c
    +++ b/drivers/net/ethernet/3com/3c515.c
    @@ -1521,7 +1521,7 @@ static void update_stats(int ioaddr, struct net_device *dev)
    static void set_rx_mode(struct net_device *dev)
    {
    int ioaddr = dev->base_addr;
    - short new_mode;
    + unsigned short new_mode;

    if (dev->flags & IFF_PROMISC) {
    if (corkscrew_debug > 3)
    --
    2.20.0
    \
     
     \ /
      Last update: 2019-03-19 22:17    [W:3.699 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site