From 46d3f57537059ef9ec497f97d98e57a1e5f2f417 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Eugenio=20P=C3=A9rez?= Date: Mon, 31 Aug 2020 09:59:22 +0200 Subject: [PATCH] vhost: fix IOTLB mempool single-consumer flag MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Control thread (which handles iotlb msg) and forwarding thread both use iotlb to translate address. The former may modify the same entry of mempool and may cause a loop in iotlb_pending_entries list. Bugzilla ID: 523 Fixes: d012d1f293f4 ("vhost: add IOTLB helper functions") Cc: stable@dpdk.org Signed-off-by: Eugenio Pérez Reviewed-by: Chenbo Xia Reviewed-by: Maxime Coquelin --- lib/librte_vhost/iotlb.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/librte_vhost/iotlb.c b/lib/librte_vhost/iotlb.c index 5b3a0c090c..e0b67721b6 100644 --- a/lib/librte_vhost/iotlb.c +++ b/lib/librte_vhost/iotlb.c @@ -321,8 +321,7 @@ vhost_user_iotlb_init(struct virtio_net *dev, int vq_index) IOTLB_CACHE_SIZE, sizeof(struct vhost_iotlb_entry), 0, 0, 0, NULL, NULL, NULL, socket, MEMPOOL_F_NO_CACHE_ALIGN | - MEMPOOL_F_SP_PUT | - MEMPOOL_F_SC_GET); + MEMPOOL_F_SP_PUT); if (!vq->iotlb_pool) { VHOST_LOG_CONFIG(ERR, "Failed to create IOTLB cache pool (%s)\n", -- 2.20.1