[dpdk-dev] [PATCH] eal: fix floating device argument pointer

Thomas Monjalon thomas at monjalon.net
Mon Oct 22 09:25:22 CEST 2018


22/10/2018 07:49, Qi Zhang:
> After we insert a devargs into devargs_list, following bus->scan may
> destroy it due to another rte_devargs_insert. Its better not to use
> a devargs pointer after it has been inserted.

I think the problem is in:

rte_devargs_insert(struct rte_devargs *da)
{
    int ret;

    ret = rte_devargs_remove(da);                                                                    
    if (ret < 0)
        return ret;
    TAILQ_INSERT_TAIL(&devargs_list, da, next);
    return 0;
}

We insert a structure which is freed!

See http://git.dpdk.org/dpdk/commit/?id=55744d83d525

Gaetan, what can be the fix?




More information about the dev mailing list