[dpdk-dev] [PATCH v2] vdev: fix name comparison in find_vdev
Nachiketa Prachanda
nprachan at vyatta.att-mail.com
Mon Mar 12 17:54:00 CET 2018
Use strcmp to compare device names as the strncmp in original code
causes find_vdev to return -EEXIST for names that are prefix
of another. The creation of interfaces fails unpredictably based
on the order of their creation. An easy way hit this bug is to create
eth_vhost1 after eth_vhost11.
Fixes: dda987315ca2 ("vdev: make virtual bus use its device struct")
Cc: jblunck at infradead.org
Cc: stable at dpdk.org
Signed-off-by: Nachiketa Prachanda <nprachan at vyatta.att-mail.com>
Acked-by: Jianfeng Tan <jianfeng.tan at intel.com>
---
Notes:
V2: No changes
Move Signed-off-by line after Fixes.
drivers/bus/vdev/vdev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/bus/vdev/vdev.c b/drivers/bus/vdev/vdev.c
index e4bc724..7eae319 100644
--- a/drivers/bus/vdev/vdev.c
+++ b/drivers/bus/vdev/vdev.c
@@ -188,7 +188,7 @@ find_vdev(const char *name)
TAILQ_FOREACH(dev, &vdev_device_list, next) {
const char *devname = rte_vdev_device_name(dev);
- if (!strncmp(devname, name, strlen(name)))
+ if (!strcmp(devname, name))
return dev;
}
--
2.7.4
More information about the dev
mailing list