From ed0c3125fb103c48943c1a2f5233b51c1d4d1cdf Mon Sep 17 00:00:00 2001 From: Yao Liu Date: Tue, 13 Oct 2020 17:57:54 +0800 Subject: [PATCH] vhost: add missing smp_rmb in vhost_vq_avail_ring_get Signed-off-by: Yao Liu Change-Id: Ie8f42cb41ae923ae0926290019cc79d9f5afc868 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4647 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins Reviewed-by: Ben Walker Reviewed-by: Shuhei Matsumoto --- lib/vhost/vhost.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/vhost/vhost.c b/lib/vhost/vhost.c index 369215148..a17004f4c 100644 --- a/lib/vhost/vhost.c +++ b/lib/vhost/vhost.c @@ -184,6 +184,8 @@ vhost_vq_avail_ring_get(struct spdk_vhost_virtqueue *virtqueue, uint16_t *reqs, uint16_t last_idx = virtqueue->last_avail_idx, avail_idx = avail->idx; uint16_t count, i; + spdk_smp_rmb(); + count = avail_idx - last_idx; if (spdk_likely(count == 0)) { return 0;