[dpdk-dev] [PATCH] vchost: Notify application of ownership change

Jan Kiszka jan.kiszka at siemens.com
Fri Aug 7 19:20:33 CEST 2015


On VHOST_*_RESET_OWNER, we reinitialize the device but without telling
the application. That will cause crashes when it continues to invoke
vhost services on the device. Fix it by calling the destruction hook if
the device is still in use.

Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com>
---

This is the surprisingly simple answer to my questions in
http://thread.gmane.org/gmane.comp.networking.dpdk.devel/22661.

 lib/librte_vhost/virtio-net.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lib/librte_vhost/virtio-net.c b/lib/librte_vhost/virtio-net.c
index b520ec5..3c5b5b2 100644
--- a/lib/librte_vhost/virtio-net.c
+++ b/lib/librte_vhost/virtio-net.c
@@ -402,6 +402,9 @@ reset_owner(struct vhost_device_ctx ctx)

 	ll_dev = get_config_ll_entry(ctx);

+	if ((ll_dev->dev.flags & VIRTIO_DEV_RUNNING))
+		notify_ops->destroy_device(&ll_dev->dev);
+
 	cleanup_device(&ll_dev->dev);
 	init_device(&ll_dev->dev);

-- 
2.1.4


More information about the dev mailing list