lkml.org 
[lkml]   [2019]   [May]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 054/276] net: ena: gcc 8: fix compilation warning
    Date
    [ Upstream commit f913308879bc6ae437ce64d878c7b05643ddea44 ]

    GCC 8 contains a number of new warnings as well as enhancements to existing
    checkers. The warning - Wstringop-truncation - warns for calls to bounded
    string manipulation functions such as strncat, strncpy, and stpncpy that
    may either truncate the copied string or leave the destination unchanged.

    In our case the destination string length (32 bytes) is much shorter than
    the source string (64 bytes) which causes this warning to show up. In
    general the destination has to be at least a byte larger than the length
    of the source string with strncpy for this warning not to showup.

    This can be easily fixed by using strlcpy instead which already does the
    truncation to the string. Documentation for this function can be
    found here:

    https://elixir.bootlin.com/linux/latest/source/lib/string.c#L141

    Fixes: 1738cd3ed342 ("net: ena: Add a driver for Amazon Elastic Network Adapters (ENA)")
    Signed-off-by: Sameeh Jubran <sameehj@amazon.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/amazon/ena/ena_netdev.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/net/ethernet/amazon/ena/ena_netdev.c b/drivers/net/ethernet/amazon/ena/ena_netdev.c
    index 1b5f591cf0a23..b5d72815776cb 100644
    --- a/drivers/net/ethernet/amazon/ena/ena_netdev.c
    +++ b/drivers/net/ethernet/amazon/ena/ena_netdev.c
    @@ -2223,7 +2223,7 @@ static void ena_config_host_info(struct ena_com_dev *ena_dev)

    host_info->os_type = ENA_ADMIN_OS_LINUX;
    host_info->kernel_ver = LINUX_VERSION_CODE;
    - strncpy(host_info->kernel_ver_str, utsname()->version,
    + strlcpy(host_info->kernel_ver_str, utsname()->version,
    sizeof(host_info->kernel_ver_str) - 1);
    host_info->os_dist = 0;
    strncpy(host_info->os_dist_str, utsname()->release,
    --
    2.20.1


    \
     
     \ /
      Last update: 2019-05-30 06:10    [W:4.020 / U:0.072 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site