If lock is acquired for write, it must be released for write or a deadlock is likely.
Bugzilla ID: 1582 Fixes: 9fc93a1e2320 ("vhost: fix virtqueue access check in datapath") Cc: david.march...@redhat.com Cc: sta...@dpdk.org Signed-off-by: Stephen Hemminger <step...@networkplumber.org> --- lib/vhost/virtio_net.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/vhost/virtio_net.c b/lib/vhost/virtio_net.c index 298a5dae74..d764d4bc6a 100644 --- a/lib/vhost/virtio_net.c +++ b/lib/vhost/virtio_net.c @@ -2538,7 +2538,7 @@ virtio_dev_rx_async_submit(struct virtio_net *dev, struct vhost_virtqueue *vq, if (unlikely(!vq->access_ok)) { vhost_user_iotlb_rd_unlock(vq); - rte_rwlock_read_unlock(&vq->access_lock); + rte_rwlock_write_unlock(&vq->access_lock); virtio_dev_vring_translate(dev, vq); goto out_no_unlock; -- 2.45.2