[dpdk-dev]   *rte_vhost_rx_queue_count* should be protected by vq->access_lock

Tiwei Bie tiwei.bie at intel.com
Thu Aug 15 15:41:42 CEST 2019


On Thu, Aug 15, 2019 at 09:14:52AM +0000, He Peng wrote:
> Hi,
> 
> 
> Would you please provide  a list of impacted APIs, thus we can check if our code has further issues. b.t.w, we are now using dpdk 18.11.

I'm looking into this issue. The API of the builtin backend
is supposed to be protected like enqueue/dequeue. So e.g.
rte_vhost_enable_guest_notification should also be protected.
I'll keep you in the CC list of the fix patch.

Thanks,
Tiwei

> 
> 
> Thanks.
> 
> 2019年8月14日 下午11:09,Tiwei Bie <tiwei.bie at intel.com> 写道:
> 
> 
> On Wed, Aug 14, 2019 at 03:31:09AM +0000, He Peng wrote:
> 
> Hi,
> 
> 
> We found that *rte_vhost_rx_queue_count* is not protected by vq->access_lock,
> and the access to vq->avail->idx is not thread-safe, since at the same time, the vq->avail  might be 
> 
> 
> set by *vring_invalidate* when some vhost-user messages arrived, such as VRING_SET_ADDRESS,
> VRING_SET_MEM_TABLE, etc.
> 
> You are right. And other similar APIs also need to be protected.
> Thanks for reporting this!
> 
> Thanks,
> Tiwei
> 
> 
> 
> 
> 
> 
> 
> Thanks. 
> 
> 
> 
> 
> 
> 
> 


More information about the dev mailing list