summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorFerruh Yigit <ferruh.yigit@intel.com>2018-06-26 12:38:07 +0100
committerThomas Monjalon <thomas@monjalon.net>2018-06-27 15:13:17 +0200
commita36b40dd8ecfb61648045e418551f75055ca77f9 (patch)
tree7d1530f601c71c5bfe6c6bb81554c56137440f84 /kernel
parent80ec1b21d9bcfd34baa86e4fab70c79fcc8b7f05 (diff)
downloaddpdk-draft-windows-a36b40dd8ecfb61648045e418551f75055ca77f9.zip
dpdk-draft-windows-a36b40dd8ecfb61648045e418551f75055ca77f9.tar.gz
dpdk-draft-windows-a36b40dd8ecfb61648045e418551f75055ca77f9.tar.xz
kni: fix build with gcc 8.1
Error observed when CONFIG_RTE_KNI_KMOD_ETHTOOL config option is enabled. build error: In function ‘strncpy’, inlined from ‘igb_get_drvinfo’ at kernel/linux/kni/igb_ethtool.c:814:2: include/linux/string.h:246:9: error: ‘__builtin_strncpy’ output may be truncated copying 31 bytes from a string of length 42 [-Werror=stringop-truncation] return __builtin_strncpy(p, q, size); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Fixed by using strlcpy instead of strncpy. adapter->fw_version size kept same because of c3698192940c ("kni: fix build with gcc 7.1") Also next line strncpy usage replaced with strlcpy while arround. Fixes: c3698192940c ("kni: fix build with gcc 7.1") Cc: stable@dpdk.org Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/linux/kni/ethtool/igb/igb_ethtool.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/kernel/linux/kni/ethtool/igb/igb_ethtool.c b/kernel/linux/kni/ethtool/igb/igb_ethtool.c
index 064528b..002f75c 100644
--- a/kernel/linux/kni/ethtool/igb/igb_ethtool.c
+++ b/kernel/linux/kni/ethtool/igb/igb_ethtool.c
@@ -811,9 +811,10 @@ static void igb_get_drvinfo(struct net_device *netdev,
strncpy(drvinfo->driver, igb_driver_name, sizeof(drvinfo->driver) - 1);
strncpy(drvinfo->version, igb_driver_version, sizeof(drvinfo->version) - 1);
- strncpy(drvinfo->fw_version, adapter->fw_version,
- sizeof(drvinfo->fw_version) - 1);
- strncpy(drvinfo->bus_info, pci_name(adapter->pdev), sizeof(drvinfo->bus_info) -1);
+ strlcpy(drvinfo->fw_version, adapter->fw_version,
+ sizeof(drvinfo->fw_version));
+ strlcpy(drvinfo->bus_info, pci_name(adapter->pdev),
+ sizeof(drvinfo->bus_info));
drvinfo->n_stats = IGB_STATS_LEN;
drvinfo->testinfo_len = IGB_TEST_LEN;
drvinfo->regdump_len = igb_get_regs_len(netdev);