From 8b75cfb86f90c816bdda28b8696beb18d553fd2b Mon Sep 17 00:00:00 2001 From: Mingjin Ye Date: Thu, 14 Mar 2024 09:36:28 +0000 Subject: [PATCH] bus/vdev: revert fix devargs in secondary process [ upstream commit 22ce39b3aadb109cbefabb91aad44c94e8c2a5e6 ] The ASan tool detected a memory leak in the vdev driver alloc_devargs. The previous commit was that when inserting a vdev device, the primary process alloc devargs and the secondary process looks for devargs. This causes the device to not be created if the secondary process does not initialise the vdev device. And, this is not the root cause. Therefore the following commit was reverted accordingly. After restoring this commit, the memory leak still exists. Bugzilla ID: 1450 Fixes: 6666628362c9 ("bus/vdev: fix devargs in secondary process") Signed-off-by: Mingjin Ye --- drivers/bus/vdev/vdev.c | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/drivers/bus/vdev/vdev.c b/drivers/bus/vdev/vdev.c index 14cf856237..38d05a9fe9 100644 --- a/drivers/bus/vdev/vdev.c +++ b/drivers/bus/vdev/vdev.c @@ -263,22 +263,6 @@ alloc_devargs(const char *name, const char *args) return devargs; } -static struct rte_devargs * -vdev_devargs_lookup(const char *name) -{ - struct rte_devargs *devargs; - char dev_name[32]; - - RTE_EAL_DEVARGS_FOREACH("vdev", devargs) { - devargs->bus->parse(devargs->name, &dev_name); - if (strcmp(dev_name, name) == 0) { - VDEV_LOG(INFO, "devargs matched %s", dev_name); - return devargs; - } - } - return NULL; -} - static int insert_vdev(const char *name, const char *args, struct rte_vdev_device **p_dev, @@ -291,10 +275,7 @@ insert_vdev(const char *name, const char *args, if (name == NULL) return -EINVAL; - if (rte_eal_process_type() == RTE_PROC_PRIMARY) - devargs = alloc_devargs(name, args); - else - devargs = vdev_devargs_lookup(name); + devargs = alloc_devargs(name, args); if (!devargs) return -ENOMEM;