ethtool: fix drvinfo strings set in drivers
Use strlcpy where possible to ensure the string is \0 terminated. Use always sizeof(string) instead of 32, ETHTOOL_BUSINFO_LEN and custom defines. Use snprintf instead of sprint. Remove unnecessary inits of ->fw_version Remove unnecessary inits of drvinfo struct. Signed-off-by: Jiri Pirko <jiri@resnulli.us> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
2afb9b5334
commit
7826d43f2d
@@ -1042,8 +1042,8 @@ static void bigmac_set_multicast(struct net_device *dev)
|
||||
/* Ethtool support... */
|
||||
static void bigmac_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info)
|
||||
{
|
||||
strcpy(info->driver, "sunbmac");
|
||||
strcpy(info->version, "2.0");
|
||||
strlcpy(info->driver, "sunbmac", sizeof(info->driver));
|
||||
strlcpy(info->version, "2.0", sizeof(info->version));
|
||||
}
|
||||
|
||||
static u32 bigmac_get_link(struct net_device *dev)
|
||||
|
@@ -685,13 +685,14 @@ static void qe_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info)
|
||||
struct sunqe *qep = netdev_priv(dev);
|
||||
struct platform_device *op;
|
||||
|
||||
strcpy(info->driver, "sunqe");
|
||||
strcpy(info->version, "3.0");
|
||||
strlcpy(info->driver, "sunqe", sizeof(info->driver));
|
||||
strlcpy(info->version, "3.0", sizeof(info->version));
|
||||
|
||||
op = qep->op;
|
||||
regs = of_get_property(op->dev.of_node, "reg", NULL);
|
||||
if (regs)
|
||||
sprintf(info->bus_info, "SBUS:%d", regs->which_io);
|
||||
snprintf(info->bus_info, sizeof(info->bus_info), "SBUS:%d",
|
||||
regs->which_io);
|
||||
|
||||
}
|
||||
|
||||
|
@@ -882,8 +882,8 @@ static int vnet_set_mac_addr(struct net_device *dev, void *p)
|
||||
static void vnet_get_drvinfo(struct net_device *dev,
|
||||
struct ethtool_drvinfo *info)
|
||||
{
|
||||
strcpy(info->driver, DRV_MODULE_NAME);
|
||||
strcpy(info->version, DRV_MODULE_VERSION);
|
||||
strlcpy(info->driver, DRV_MODULE_NAME, sizeof(info->driver));
|
||||
strlcpy(info->version, DRV_MODULE_VERSION, sizeof(info->version));
|
||||
}
|
||||
|
||||
static u32 vnet_get_msglevel(struct net_device *dev)
|
||||
|
Reference in New Issue
Block a user