From: Tiwei Bie Date: Fri, 4 Jan 2019 04:06:37 +0000 (+0800) Subject: vhost: fix desc access in relay helpers X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=e218fa09f4a8e9ce21798ecf0582062e4a94d2b3;p=dpdk.git vhost: fix desc access in relay helpers Descs in desc table should be indexed using the desc idx instead of the idx of avail ring and used ring. Fixes: b13ad2decc83 ("vhost: provide helpers for virtio ring relay") Signed-off-by: Tiwei Bie Reviewed-by: Maxime Coquelin --- diff --git a/lib/librte_vhost/vdpa.c b/lib/librte_vhost/vdpa.c index 240a1fe3a1..77d92f9ad7 100644 --- a/lib/librte_vhost/vdpa.c +++ b/lib/librte_vhost/vdpa.c @@ -190,10 +190,10 @@ rte_vdpa_relay_vring_avail(int vid, uint16_t qid, void *vring_m) if (unlikely(!desc_ring)) return -1; - if (unlikely(dlen < vq->desc[idx].len)) { + if (unlikely(dlen < vq->desc[desc_id].len)) { idesc = alloc_copy_ind_table(dev, vq, - vq->desc[idx].addr, - vq->desc[idx].len); + vq->desc[desc_id].addr, + vq->desc[desc_id].len); if (unlikely(!idesc)) return -1; @@ -279,10 +279,10 @@ rte_vdpa_relay_vring_used(int vid, uint16_t qid, void *vring_m) if (unlikely(!desc_ring)) return -1; - if (unlikely(dlen < vq->desc[idx].len)) { + if (unlikely(dlen < vq->desc[desc_id].len)) { idesc = alloc_copy_ind_table(dev, vq, - vq->desc[idx].addr, - vq->desc[idx].len); + vq->desc[desc_id].addr, + vq->desc[desc_id].len); if (unlikely(!idesc)) return -1;