[dpdk-dev,v5,13/16] net/vdev_netvsc: 3 x strncpy misuse
Checks
Commit Message
Signed-off-by: Andy Green <andy@warmcat.com>
Fixes: e7dc5d7becc5 ("net/vdev_netvsc: implement core functionality")
Cc: stable@dpdk.org
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
drivers/net/vdev_netvsc/vdev_netvsc.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
Comments
Hi Andy
From: Andy Green
> Signed-off-by: Andy Green <andy@warmcat.com>
> Fixes: e7dc5d7becc5 ("net/vdev_netvsc: implement core functionality")
> Cc: stable@dpdk.org
No need the fix line, it is just conversion.
Actually the strlcpy was introduced later and the next commit should have it:
c022cb400e92 ("convert snprintf to strlcpy")
which came after the vdev_netvsc driver had been introduced.
The title can be as above;
net/vdev_netvsc: convert snprintf to strlcpy
The body could be:
Continue snprintf to strlcpy conversions started by commit c022cb400e92 ("convert snprintf to strlcpy").
> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
> ---
> drivers/net/vdev_netvsc/vdev_netvsc.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/vdev_netvsc/vdev_netvsc.c
> b/drivers/net/vdev_netvsc/vdev_netvsc.c
> index dca25761d..f1d036152 100644
> --- a/drivers/net/vdev_netvsc/vdev_netvsc.c
> +++ b/drivers/net/vdev_netvsc/vdev_netvsc.c
> @@ -35,6 +35,7 @@
> #include <rte_hypervisor.h>
> #include <rte_kvargs.h>
> #include <rte_log.h>
> +#include <rte_string_fns.h>
>
> #define VDEV_NETVSC_DRIVER net_vdev_netvsc #define
> VDEV_NETVSC_DRIVER_NAME RTE_STR(VDEV_NETVSC_DRIVER) @@ -182,7
> +183,7 @@ vdev_netvsc_foreach_iface(int (*func)(const struct if_nameindex
> *iface,
> is_netvsc_ret = vdev_netvsc_iface_is_netvsc(&iface[i]) ? 1 : 0;
> if (is_netvsc ^ is_netvsc_ret)
> continue;
> - strncpy(req.ifr_name, iface[i].if_name, sizeof(req.ifr_name));
> + strlcpy(req.ifr_name, iface[i].if_name, sizeof(req.ifr_name));
> if (ioctl(s, SIOCGIFHWADDR, &req) == -1) {
> DRV_LOG(WARNING, "cannot retrieve information
> about"
> " interface \"%s\": %s",
> @@ -384,7 +385,7 @@ vdev_netvsc_device_probe(const struct if_nameindex
> *iface,
> DRV_LOG(DEBUG,
> "NetVSC interface \"%s\" (index %u) renamed \"%s\"",
> ctx->if_name, ctx->if_index, iface->if_name);
> - strncpy(ctx->if_name, iface->if_name, sizeof(ctx->if_name));
> + strlcpy(ctx->if_name, iface->if_name, sizeof(ctx->if_name));
> return 0;
> }
> if (!is_same_ether_addr(eth_addr, &ctx->if_addr)) @@ -582,7 +583,7
> @@ vdev_netvsc_netvsc_probe(const struct if_nameindex *iface,
> goto error;
> }
> ctx->id = vdev_netvsc_ctx_count;
> - strncpy(ctx->if_name, iface->if_name, sizeof(ctx->if_name));
> + strlcpy(ctx->if_name, iface->if_name, sizeof(ctx->if_name));
> ctx->if_index = iface->if_index;
> ctx->if_addr = *eth_addr;
> ctx->pipe[0] = -1;
@@ -35,6 +35,7 @@
#include <rte_hypervisor.h>
#include <rte_kvargs.h>
#include <rte_log.h>
+#include <rte_string_fns.h>
#define VDEV_NETVSC_DRIVER net_vdev_netvsc
#define VDEV_NETVSC_DRIVER_NAME RTE_STR(VDEV_NETVSC_DRIVER)
@@ -182,7 +183,7 @@ vdev_netvsc_foreach_iface(int (*func)(const struct if_nameindex *iface,
is_netvsc_ret = vdev_netvsc_iface_is_netvsc(&iface[i]) ? 1 : 0;
if (is_netvsc ^ is_netvsc_ret)
continue;
- strncpy(req.ifr_name, iface[i].if_name, sizeof(req.ifr_name));
+ strlcpy(req.ifr_name, iface[i].if_name, sizeof(req.ifr_name));
if (ioctl(s, SIOCGIFHWADDR, &req) == -1) {
DRV_LOG(WARNING, "cannot retrieve information about"
" interface \"%s\": %s",
@@ -384,7 +385,7 @@ vdev_netvsc_device_probe(const struct if_nameindex *iface,
DRV_LOG(DEBUG,
"NetVSC interface \"%s\" (index %u) renamed \"%s\"",
ctx->if_name, ctx->if_index, iface->if_name);
- strncpy(ctx->if_name, iface->if_name, sizeof(ctx->if_name));
+ strlcpy(ctx->if_name, iface->if_name, sizeof(ctx->if_name));
return 0;
}
if (!is_same_ether_addr(eth_addr, &ctx->if_addr))
@@ -582,7 +583,7 @@ vdev_netvsc_netvsc_probe(const struct if_nameindex *iface,
goto error;
}
ctx->id = vdev_netvsc_ctx_count;
- strncpy(ctx->if_name, iface->if_name, sizeof(ctx->if_name));
+ strlcpy(ctx->if_name, iface->if_name, sizeof(ctx->if_name));
ctx->if_index = iface->if_index;
ctx->if_addr = *eth_addr;
ctx->pipe[0] = -1;