[dpdk-dev] [PATCH] net/vdev_netvsc: fix erronous cast

Stephen Hemminger stephen at networkplumber.org
Wed Mar 13 03:12:53 CET 2019


The return value from bus->find_device is a rte_device
which is not safe to cast to a rte_vdev_device structure.
It doesn't really matter since only being checked for NULL
but static checkers might find a bug here.

Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
---
 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 ba63fac2a598..801f54c96e01 100644
--- a/drivers/net/vdev_netvsc/vdev_netvsc.c
+++ b/drivers/net/vdev_netvsc/vdev_netvsc.c
@@ -808,7 +808,7 @@ vdev_netvsc_cmp_rte_device(const struct rte_device *dev1,
 static void
 vdev_netvsc_scan_callback(__rte_unused void *arg)
 {
-	struct rte_vdev_device *dev;
+	struct rte_device *dev;
 	struct rte_devargs *devargs;
 	struct rte_bus *vbus = rte_bus_find_by_name("vdev");
 
@@ -816,8 +816,9 @@ vdev_netvsc_scan_callback(__rte_unused void *arg)
 		if (!strncmp(devargs->name, VDEV_NETVSC_DRIVER_NAME,
 			     VDEV_NETVSC_DRIVER_NAME_LEN))
 			return;
-	dev = (struct rte_vdev_device *)vbus->find_device(NULL,
-		vdev_netvsc_cmp_rte_device, VDEV_NETVSC_DRIVER_NAME);
+
+	dev = vbus->find_device(NULL, vdev_netvsc_cmp_rte_device,
+				VDEV_NETVSC_DRIVER_NAME);
 	if (dev)
 		return;
 	if (rte_devargs_add(RTE_DEVTYPE_VIRTUAL, VDEV_NETVSC_DRIVER_NAME))
-- 
2.17.1



More information about the dev mailing list