• Arnd Bergmann's avatar
    IB/hfi1: use size_t for passing array length · 64b2ae74
    Arnd Bergmann authored
    gcc-7 produces a mysterious warning about the size argument being potentially out
    of range:
    
    drivers/infiniband/hw/hfi1/verbs.c: In function 'init_cntr_names':
    drivers/infiniband/hw/hfi1/verbs.c:1644:2: error: 'memcpy': specified size between 18446744071562067968 and 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Werror=stringop-overflow=]
    
    This seems to refer to a the case where an 64-bit size_t gets truncated
    into a negative 'int' and subsequently turned into a high 64-bit number
    again.
    
    The fix is clearly to use size_t here, which matches the type that gets
    used for this value elsewhere.
    
    Fixes: b7481944 ("IB/hfi1: Show statistics counters under IB stats interface")
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Reviewed-by: default avatarLeon Romanovsky <leonro@mellanox.com>
    Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
    64b2ae74
verbs.c 53.1 KB