On 2020/6/11 下午7:34, Michael S. Tsirkin wrote:
  static void vhost_vq_free_iovecs(struct vhost_virtqueue *vq)
  {
        kfree(vq->descs);
@@ -394,6 +400,9 @@ static long vhost_dev_alloc_iovecs(struct vhost_dev *dev)
        for (i = 0; i < dev->nvqs; ++i) {
                vq = dev->vqs[i];
                vq->max_descs = dev->iov_limit;
+               if (vhost_vq_num_batch_descs(vq) < 0) {
+                       return -EINVAL;
+               }


This check breaks vdpa which set iov_limit to zero. Consider iov_limit is meaningless to vDPA, I wonder we can skip the test when device doesn't use worker.

Thanks

Reply via email to