Hi,
On 7/26/22 09:55, Maxime Coquelin wrote:
On 7/25/22 22:32, David Marchand wrote:
translate_ring_addresses (via numa_realloc) may change a virtio device
and
virtio queue.
The virtqueue object must be refreshed before accessing the lock.
Fixes: 04c27cb673b9 ("vhost: fix unsafe vring addresses modifications")
Cc: sta...@dpdk.org
Signed-off-by: David Marchand <david.march...@redhat.com>
---
lib/vhost/vhost_user.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/vhost/vhost_user.c b/lib/vhost/vhost_user.c
index 4ad28bac45..91d40e32fc 100644
--- a/lib/vhost/vhost_user.c
+++ b/lib/vhost/vhost_user.c
@@ -2596,6 +2596,7 @@ vhost_user_iotlb_msg(struct virtio_net **pdev,
if (is_vring_iotlb(dev, vq, imsg)) {
rte_spinlock_lock(&vq->access_lock);
*pdev = dev = translate_ring_addresses(dev, i);
+ vq = dev->virtqueue[i];
rte_spinlock_unlock(&vq->access_lock);
}
}
Reviewed-by: Maxime Coquelin <maxime.coque...@redhat.com>
Thanks,
Maxime
The bug this patch is fixing is being reproduced downstream.
It would be great it gets merged in main branch rapidly so that we can
perform the backport.
Chenbo, are you planning a pull request for vhost/virtio in the next few
days? If not, should the main branch maintainer pick this single patch
directly and let the rest of the series more time for reviews?
Thanks,
Maxime