[EXTERNAL] Re: [v5 1/5] vhost: skip crypto op fetch before vring init

Gowrishankar Muthukrishnan gmuthukrishn at marvell.com
Wed Feb 26 18:40:07 CET 2025


Hi Maxime,
> >
> > +	if (unlikely(vq == NULL)) {
> > +		VC_LOG_ERR("Invalid virtqueue %u", qid);
> > +		return 0;
> > +	}
> > +
> > +	if (unlikely(vq->avail == NULL)) {
> > +		VC_LOG_DBG("Virtqueue ring not yet initialized %u", qid);
> > +		return 0;
> > +	}
> > +
> 
> I think the proper fix to:
> 1. acquire the access_lock as reader
> 2. check whether vq is enabled
> 3. acquire the iotlb lock as a reader
> 4. check vq's access_ok
> 

Ack. Except for vq->enabled, next version of this patch would carry these checks.
Current virtio crypto for vhost_user does not request SET_VRING_ENABLE, so this flag would not be set.

Thanks,
Gowrishankar

> You can have a look at rte_vhost_dequeue_burst for example.
> 
> >   	avail_idx = *((volatile uint16_t *)&vq->avail->idx);
> >   	start_idx = vq->last_used_idx;
> >   	count = avail_idx - start_idx;



More information about the stable mailing list