From e218fa09f4a8e9ce21798ecf0582062e4a94d2b3 Mon Sep 17 00:00:00 2001 From: Tiwei Bie Date: Fri, 4 Jan 2019 12:06:37 +0800 Subject: [PATCH] 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 --- lib/librte_vhost/vdpa.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) 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; -- 2.20.1