[dpdk-dev] [PATCH 2/5] vhost: enforce desc flags and content read ordering
Maxime Coquelin
maxime.coquelin at redhat.com
Wed Dec 5 10:49:54 CET 2018
A read barrier is required to ensure that the ordering between
descriptor's flags and content reads is enforced.
Fixes: 2f3225a7d69b ("vhost: add vector filling support for packed ring")
Cc: stable at dpdk.org
Reported-by: Jason Wang <jasowang at redhat.com>
Signed-off-by: Maxime Coquelin <maxime.coquelin at redhat.com>
---
lib/librte_vhost/virtio_net.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/lib/librte_vhost/virtio_net.c b/lib/librte_vhost/virtio_net.c
index f11ebb54f..68b72e7a5 100644
--- a/lib/librte_vhost/virtio_net.c
+++ b/lib/librte_vhost/virtio_net.c
@@ -520,6 +520,12 @@ fill_vec_buf_packed(struct virtio_net *dev, struct vhost_virtqueue *vq,
if (unlikely(!desc_is_avail(&descs[avail_idx], wrap_counter)))
return -1;
+ /*
+ * The ordering between desc flags and desc
+ * content reads need to be enforced.
+ */
+ rte_smp_rmb();
+
*desc_count = 0;
*len = 0;
--
2.17.2
More information about the dev
mailing list