[dpdk-stable] [dpdk-dev] [PATCH v3] net/vhost: fix potential memory leak
Kevin Traynor
ktraynor at redhat.com
Fri Mar 20 20:25:04 CET 2020
On 20/03/2020 16:23, Maxime Coquelin wrote:
>
>
> On 3/19/20 6:15 PM, Kevin Traynor wrote:
>> Hi Itsuro,
>>
>> On 05/03/2020 02:54, Itsuro Oda wrote:
>>> If a vhost device is closed before eth_dev_configure is done
>>> to the device, internal resources allocated to the device
>>> would not be freed. This patch fixes it.
>>>
>>> Fixes: 3d01b759d267 ("net/vhost: delay driver setup")
>>> Cc: stable at dpdk.org
>>>
>>> Signed-off-by: Itsuro Oda <oda at valinux.co.jp>
>>> Reviewed-by: Xiaolong Ye <xiaolong.ye at intel.com>
>>
>> This fixes an issue with the patch you backported for 18.11. Is the
>> issue also present in the backported version?
>>
>> If so, this patch is not in upstream dpdk or gone through validation. So
>> the choices are,
>>
>> 1. revert your patches from 18.11
>> 2. go ahead on stable without this patch
>> 3. delay until this patch is in master (but not until validated) and
>> then backport to stable
>>
>> Itsuro/Maxime, what do you think?
>
> I think you should drop Itsuro patches for now, as long as this patch is
> not in master. Secondary process was broken for several revisions in
> Vhost, so it is better to keep it broken for now than risking
> regressions on primary process support.
>
I agree, vhost primary is too well used to take risks on regression
while there are still some outstanding issues being resolved with these
patches for secondary process.
Patches reverted.
> If this patch is in master before the next 18.11 is done, then we can
> pick all the patches.
>
Yes, we can do that.
thanks,
Kevin.
> Thanks,
> Maxime
>> thanks,
>> Kevin.
>>
>>> ---
>>> v2:
>>> - fix commit message
>>>
>>> v3:
>>> - fix spell error of Reviewed-by
>>>
>>> drivers/net/vhost/rte_eth_vhost.c | 16 +++++++---------
>>> 1 file changed, 7 insertions(+), 9 deletions(-)
>>>
>>> diff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c
>>> index 458ed58f5..1ed977e9b 100644
>>> --- a/drivers/net/vhost/rte_eth_vhost.c
>>> +++ b/drivers/net/vhost/rte_eth_vhost.c
>>> @@ -1065,16 +1065,14 @@ eth_dev_close(struct rte_eth_dev *dev)
>>>
>>> eth_dev_stop(dev);
>>>
>>> - rte_vhost_driver_unregister(internal->iface_name);
>>> -
>>> list = find_internal_resource(internal->iface_name);
>>> - if (!list)
>>> - return;
>>> -
>>> - pthread_mutex_lock(&internal_list_lock);
>>> - TAILQ_REMOVE(&internal_list, list, next);
>>> - pthread_mutex_unlock(&internal_list_lock);
>>> - rte_free(list);
>>> + if (list) {
>>> + rte_vhost_driver_unregister(internal->iface_name);
>>> + pthread_mutex_lock(&internal_list_lock);
>>> + TAILQ_REMOVE(&internal_list, list, next);
>>> + pthread_mutex_unlock(&internal_list_lock);
>>> + rte_free(list);
>>> + }
>>>
>>> if (dev->data->rx_queues)
>>> for (i = 0; i < dev->data->nb_rx_queues; i++)
>>>
>>
More information about the stable
mailing list