Commit 612a94d6 authored by Rick Jones's avatar Rick Jones Committed by David S. Miller

Sweep the last of the active .get_drvinfo floors under ethernet/

This round of floor sweeping converts strncpy calls in various .get_drvinfo
routines to the preferred strlcpy.  It also does a modicum of other
cleaning in those routines.
Signed-off-by: default avatarRick Jones <rick.jones2@hp.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent e52fcb24
...@@ -217,11 +217,11 @@ static void enic_get_drvinfo(struct net_device *netdev, ...@@ -217,11 +217,11 @@ static void enic_get_drvinfo(struct net_device *netdev,
enic_dev_fw_info(enic, &fw_info); enic_dev_fw_info(enic, &fw_info);
strncpy(drvinfo->driver, DRV_NAME, sizeof(drvinfo->driver)); strlcpy(drvinfo->driver, DRV_NAME, sizeof(drvinfo->driver));
strncpy(drvinfo->version, DRV_VERSION, sizeof(drvinfo->version)); strlcpy(drvinfo->version, DRV_VERSION, sizeof(drvinfo->version));
strncpy(drvinfo->fw_version, fw_info->fw_version, strlcpy(drvinfo->fw_version, fw_info->fw_version,
sizeof(drvinfo->fw_version)); sizeof(drvinfo->fw_version));
strncpy(drvinfo->bus_info, pci_name(enic->pdev), strlcpy(drvinfo->bus_info, pci_name(enic->pdev),
sizeof(drvinfo->bus_info)); sizeof(drvinfo->bus_info));
} }
......
...@@ -515,14 +515,15 @@ static void e1000_get_drvinfo(struct net_device *netdev, ...@@ -515,14 +515,15 @@ static void e1000_get_drvinfo(struct net_device *netdev,
struct ethtool_drvinfo *drvinfo) struct ethtool_drvinfo *drvinfo)
{ {
struct e1000_adapter *adapter = netdev_priv(netdev); struct e1000_adapter *adapter = netdev_priv(netdev);
char firmware_version[32];
strncpy(drvinfo->driver, e1000_driver_name, 32); strlcpy(drvinfo->driver, e1000_driver_name,
strncpy(drvinfo->version, e1000_driver_version, 32); sizeof(drvinfo->driver));
strlcpy(drvinfo->version, e1000_driver_version,
sizeof(drvinfo->version));
sprintf(firmware_version, "N/A"); strlcpy(drvinfo->fw_version, "N/A", sizeof(drvinfo->fw_version));
strncpy(drvinfo->fw_version, firmware_version, 32); strlcpy(drvinfo->bus_info, pci_name(adapter->pdev),
strncpy(drvinfo->bus_info, pci_name(adapter->pdev), 32); sizeof(drvinfo->bus_info));
drvinfo->regdump_len = e1000_get_regs_len(netdev); drvinfo->regdump_len = e1000_get_regs_len(netdev);
drvinfo->eedump_len = e1000_get_eeprom_len(netdev); drvinfo->eedump_len = e1000_get_eeprom_len(netdev);
} }
......
...@@ -579,26 +579,24 @@ static void e1000_get_drvinfo(struct net_device *netdev, ...@@ -579,26 +579,24 @@ static void e1000_get_drvinfo(struct net_device *netdev,
struct ethtool_drvinfo *drvinfo) struct ethtool_drvinfo *drvinfo)
{ {
struct e1000_adapter *adapter = netdev_priv(netdev); struct e1000_adapter *adapter = netdev_priv(netdev);
char firmware_version[32];
strncpy(drvinfo->driver, e1000e_driver_name, strlcpy(drvinfo->driver, e1000e_driver_name,
sizeof(drvinfo->driver) - 1); sizeof(drvinfo->driver));
strncpy(drvinfo->version, e1000e_driver_version, strncpy(drvinfo->version, e1000e_driver_version,
sizeof(drvinfo->version) - 1); sizeof(drvinfo->version));
/* /*
* EEPROM image version # is reported as firmware version # for * EEPROM image version # is reported as firmware version # for
* PCI-E controllers * PCI-E controllers
*/ */
snprintf(firmware_version, sizeof(firmware_version), "%d.%d-%d", snprintf(drvinfo->fw_version, sizeof(drvinfo->fw_version),
"%d.%d-%d",
(adapter->eeprom_vers & 0xF000) >> 12, (adapter->eeprom_vers & 0xF000) >> 12,
(adapter->eeprom_vers & 0x0FF0) >> 4, (adapter->eeprom_vers & 0x0FF0) >> 4,
(adapter->eeprom_vers & 0x000F)); (adapter->eeprom_vers & 0x000F));
strncpy(drvinfo->fw_version, firmware_version, strlcpy(drvinfo->bus_info, pci_name(adapter->pdev),
sizeof(drvinfo->fw_version) - 1); sizeof(drvinfo->bus_info));
strncpy(drvinfo->bus_info, pci_name(adapter->pdev),
sizeof(drvinfo->bus_info) - 1);
drvinfo->regdump_len = e1000_get_regs_len(netdev); drvinfo->regdump_len = e1000_get_regs_len(netdev);
drvinfo->eedump_len = e1000_get_eeprom_len(netdev); drvinfo->eedump_len = e1000_get_eeprom_len(netdev);
} }
......
...@@ -673,25 +673,22 @@ static void igb_get_drvinfo(struct net_device *netdev, ...@@ -673,25 +673,22 @@ static void igb_get_drvinfo(struct net_device *netdev,
struct ethtool_drvinfo *drvinfo) struct ethtool_drvinfo *drvinfo)
{ {
struct igb_adapter *adapter = netdev_priv(netdev); struct igb_adapter *adapter = netdev_priv(netdev);
char firmware_version[32];
u16 eeprom_data; u16 eeprom_data;
strncpy(drvinfo->driver, igb_driver_name, sizeof(drvinfo->driver) - 1); strlcpy(drvinfo->driver, igb_driver_name, sizeof(drvinfo->driver));
strncpy(drvinfo->version, igb_driver_version, strlcpy(drvinfo->version, igb_driver_version, sizeof(drvinfo->version));
sizeof(drvinfo->version) - 1);
/* EEPROM image version # is reported as firmware version # for /* EEPROM image version # is reported as firmware version # for
* 82575 controllers */ * 82575 controllers */
adapter->hw.nvm.ops.read(&adapter->hw, 5, 1, &eeprom_data); adapter->hw.nvm.ops.read(&adapter->hw, 5, 1, &eeprom_data);
sprintf(firmware_version, "%d.%d-%d", snprintf(drvinfo->fw_version, sizeof(drvinfo->fw_version),
"%d.%d-%d",
(eeprom_data & 0xF000) >> 12, (eeprom_data & 0xF000) >> 12,
(eeprom_data & 0x0FF0) >> 4, (eeprom_data & 0x0FF0) >> 4,
eeprom_data & 0x000F); eeprom_data & 0x000F);
strncpy(drvinfo->fw_version, firmware_version, strlcpy(drvinfo->bus_info, pci_name(adapter->pdev),
sizeof(drvinfo->fw_version) - 1); sizeof(drvinfo->bus_info));
strncpy(drvinfo->bus_info, pci_name(adapter->pdev),
sizeof(drvinfo->bus_info) - 1);
drvinfo->n_stats = IGB_STATS_LEN; drvinfo->n_stats = IGB_STATS_LEN;
drvinfo->testinfo_len = IGB_TEST_LEN; drvinfo->testinfo_len = IGB_TEST_LEN;
drvinfo->regdump_len = igb_get_regs_len(netdev); drvinfo->regdump_len = igb_get_regs_len(netdev);
......
...@@ -191,12 +191,14 @@ static void igbvf_get_drvinfo(struct net_device *netdev, ...@@ -191,12 +191,14 @@ static void igbvf_get_drvinfo(struct net_device *netdev,
struct ethtool_drvinfo *drvinfo) struct ethtool_drvinfo *drvinfo)
{ {
struct igbvf_adapter *adapter = netdev_priv(netdev); struct igbvf_adapter *adapter = netdev_priv(netdev);
char firmware_version[32] = "N/A";
strncpy(drvinfo->driver, igbvf_driver_name, 32); strlcpy(drvinfo->driver, igbvf_driver_name, sizeof(drvinfo->driver));
strncpy(drvinfo->version, igbvf_driver_version, 32); strlcpy(drvinfo->version, igbvf_driver_version,
strncpy(drvinfo->fw_version, firmware_version, 32); sizeof(drvinfo->version));
strncpy(drvinfo->bus_info, pci_name(adapter->pdev), 32); strlcpy(drvinfo->fw_version, "N/A",
sizeof(drvinfo->fw_version));
strlcpy(drvinfo->bus_info, pci_name(adapter->pdev),
sizeof(drvinfo->bus_info));
drvinfo->regdump_len = igbvf_get_regs_len(netdev); drvinfo->regdump_len = igbvf_get_regs_len(netdev);
drvinfo->eedump_len = igbvf_get_eeprom_len(netdev); drvinfo->eedump_len = igbvf_get_eeprom_len(netdev);
} }
......
...@@ -473,10 +473,13 @@ ixgb_get_drvinfo(struct net_device *netdev, ...@@ -473,10 +473,13 @@ ixgb_get_drvinfo(struct net_device *netdev,
{ {
struct ixgb_adapter *adapter = netdev_priv(netdev); struct ixgb_adapter *adapter = netdev_priv(netdev);
strncpy(drvinfo->driver, ixgb_driver_name, 32); strlcpy(drvinfo->driver, ixgb_driver_name,
strncpy(drvinfo->version, ixgb_driver_version, 32); sizeof(drvinfo->driver));
strncpy(drvinfo->fw_version, "N/A", 32); strlcpy(drvinfo->version, ixgb_driver_version,
strncpy(drvinfo->bus_info, pci_name(adapter->pdev), 32); sizeof(drvinfo->version));
strlcpy(drvinfo->fw_version, "N/A", sizeof(drvinfo->fw_version));
strlcpy(drvinfo->bus_info, pci_name(adapter->pdev),
sizeof(drvinfo->bus_info));
drvinfo->n_stats = IXGB_STATS_LEN; drvinfo->n_stats = IXGB_STATS_LEN;
drvinfo->regdump_len = ixgb_get_regs_len(netdev); drvinfo->regdump_len = ixgb_get_regs_len(netdev);
drvinfo->eedump_len = ixgb_get_eeprom_len(netdev); drvinfo->eedump_len = ixgb_get_eeprom_len(netdev);
......
...@@ -888,23 +888,19 @@ static void ixgbe_get_drvinfo(struct net_device *netdev, ...@@ -888,23 +888,19 @@ static void ixgbe_get_drvinfo(struct net_device *netdev,
struct ethtool_drvinfo *drvinfo) struct ethtool_drvinfo *drvinfo)
{ {
struct ixgbe_adapter *adapter = netdev_priv(netdev); struct ixgbe_adapter *adapter = netdev_priv(netdev);
char firmware_version[32];
u32 nvm_track_id; u32 nvm_track_id;
strncpy(drvinfo->driver, ixgbe_driver_name, strlcpy(drvinfo->driver, ixgbe_driver_name, sizeof(drvinfo->driver));
sizeof(drvinfo->driver) - 1); strlcpy(drvinfo->version, ixgbe_driver_version,
strncpy(drvinfo->version, ixgbe_driver_version, sizeof(drvinfo->version));
sizeof(drvinfo->version) - 1);
nvm_track_id = (adapter->eeprom_verh << 16) | nvm_track_id = (adapter->eeprom_verh << 16) |
adapter->eeprom_verl; adapter->eeprom_verl;
snprintf(firmware_version, sizeof(firmware_version), "0x%08x", snprintf(drvinfo->fw_version, sizeof(drvinfo->fw_version), "0x%08x",
nvm_track_id); nvm_track_id);
strncpy(drvinfo->fw_version, firmware_version, strlcpy(drvinfo->bus_info, pci_name(adapter->pdev),
sizeof(drvinfo->fw_version) - 1); sizeof(drvinfo->bus_info));
strncpy(drvinfo->bus_info, pci_name(adapter->pdev),
sizeof(drvinfo->bus_info) - 1);
drvinfo->n_stats = IXGBE_STATS_LEN; drvinfo->n_stats = IXGBE_STATS_LEN;
drvinfo->testinfo_len = IXGBE_TEST_LEN; drvinfo->testinfo_len = IXGBE_TEST_LEN;
drvinfo->regdump_len = ixgbe_get_regs_len(netdev); drvinfo->regdump_len = ixgbe_get_regs_len(netdev);
......
...@@ -45,13 +45,16 @@ mlx4_en_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *drvinfo) ...@@ -45,13 +45,16 @@ mlx4_en_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *drvinfo)
struct mlx4_en_priv *priv = netdev_priv(dev); struct mlx4_en_priv *priv = netdev_priv(dev);
struct mlx4_en_dev *mdev = priv->mdev; struct mlx4_en_dev *mdev = priv->mdev;
strncpy(drvinfo->driver, DRV_NAME, 32); strlcpy(drvinfo->driver, DRV_NAME, sizeof(drvinfo->driver));
strncpy(drvinfo->version, DRV_VERSION " (" DRV_RELDATE ")", 32); strlcpy(drvinfo->version, DRV_VERSION " (" DRV_RELDATE ")",
sprintf(drvinfo->fw_version, "%d.%d.%d", sizeof(drvinfo->version));
snprintf(drvinfo->fw_version, sizeof(drvinfo->fw_version),
"%d.%d.%d",
(u16) (mdev->dev->caps.fw_ver >> 32), (u16) (mdev->dev->caps.fw_ver >> 32),
(u16) ((mdev->dev->caps.fw_ver >> 16) & 0xffff), (u16) ((mdev->dev->caps.fw_ver >> 16) & 0xffff),
(u16) (mdev->dev->caps.fw_ver & 0xffff)); (u16) (mdev->dev->caps.fw_ver & 0xffff));
strncpy(drvinfo->bus_info, pci_name(mdev->dev->pdev), 32); strlcpy(drvinfo->bus_info, pci_name(mdev->dev->pdev),
sizeof(drvinfo->bus_info));
drvinfo->n_stats = 0; drvinfo->n_stats = 0;
drvinfo->regdump_len = 0; drvinfo->regdump_len = 0;
drvinfo->eedump_len = 0; drvinfo->eedump_len = 0;
......
...@@ -4532,10 +4532,9 @@ static void cas_set_multicast(struct net_device *dev) ...@@ -4532,10 +4532,9 @@ static void cas_set_multicast(struct net_device *dev)
static void cas_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info) static void cas_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info)
{ {
struct cas *cp = netdev_priv(dev); struct cas *cp = netdev_priv(dev);
strncpy(info->driver, DRV_MODULE_NAME, ETHTOOL_BUSINFO_LEN); strlcpy(info->driver, DRV_MODULE_NAME, sizeof(info->driver));
strncpy(info->version, DRV_MODULE_VERSION, ETHTOOL_BUSINFO_LEN); strlcpy(info->version, DRV_MODULE_VERSION, sizeof(info->version));
info->fw_version[0] = '\0'; strlcpy(info->bus_info, pci_name(cp->pdev), sizeof(info->bus_info));
strncpy(info->bus_info, pci_name(cp->pdev), ETHTOOL_BUSINFO_LEN);
info->regdump_len = cp->casreg_len < CAS_MAX_REGS ? info->regdump_len = cp->casreg_len < CAS_MAX_REGS ?
cp->casreg_len : CAS_MAX_REGS; cp->casreg_len : CAS_MAX_REGS;
info->n_stats = CAS_NUM_STAT_KEYS; info->n_stats = CAS_NUM_STAT_KEYS;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment