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?


Reply via email to