vhost: add sanity check on inflight last index
authorLi Feng <fengli@smartx.com>
Thu, 14 Oct 2021 12:40:08 +0000 (20:40 +0800)
committerMaxime Coquelin <maxime.coquelin@redhat.com>
Thu, 21 Oct 2021 12:24:21 +0000 (14:24 +0200)
The index in rte_vhost_set_last_inflight_io_split is from
the frontend driver, check if it's in the virtqueue range.

Fixes: bb0c2de9602b ("vhost: add APIs to operate inflight ring")
Cc: stable@dpdk.org
Signed-off-by: Li Feng <fengli@smartx.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
lib/vhost/vhost.c

index 9540522..3b674ac 100644 (file)
@@ -1226,6 +1226,9 @@ rte_vhost_set_last_inflight_io_split(int vid, uint16_t vring_idx,
        if (unlikely(!vq->inflight_split))
                return -1;
 
+       if (unlikely(idx >= vq->size))
+               return -1;
+
        vq->inflight_split->last_inflight_io = idx;
        return 0;
 }