[Qemu-devel] [PATCH] vhost_dev:qemu will quit when vhost_dev is null

indiffPig@126.com posted 1 patch 6 years, 10 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1496328687-13121-1-git-send-email-indiffPig@126.com
Test checkpatch passed
Test docker passed
Test s390x passed
hw/virtio/vhost-user.c | 3 +++
1 file changed, 3 insertions(+)
[Qemu-devel] [PATCH] vhost_dev:qemu will quit when vhost_dev is null
Posted by indiffPig@126.com 6 years, 10 months ago
From: "yin.zuowei" <cxasm@qq.com>

Signed-off-by: yin.zuowei <cxasm@qq.com>

when ovdk socket is not ok, this vhost_dev is null ,then qemu will be quit.
We think ovdk is just a network devices, should not cause an exit .
---
 hw/virtio/vhost-user.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/hw/virtio/vhost-user.c b/hw/virtio/vhost-user.c
index dde094a..3a9fdf4 100644
--- a/hw/virtio/vhost-user.c
+++ b/hw/virtio/vhost-user.c
@@ -387,6 +387,9 @@ static int vhost_user_set_vring_base(struct vhost_dev *dev,
 static int vhost_user_set_vring_enable(struct vhost_dev *dev, int enable)
 {
     int i;
+    if (!dev) {
+        return -1;
+    }
 
     if (!virtio_has_feature(dev->features, VHOST_USER_F_PROTOCOL_FEATURES)) {
         return -1;
-- 
1.8.3.1



Re: [Qemu-devel] [PATCH] vhost_dev:qemu will quit when vhost_dev is null
Posted by Michael S. Tsirkin 6 years, 10 months ago
On Thu, Jun 01, 2017 at 10:51:27AM -0400, indiffPig@126.com wrote:
> From: "yin.zuowei" <cxasm@qq.com>
> 
> Signed-off-by: yin.zuowei <cxasm@qq.com>
> 
> when ovdk socket is not ok, this vhost_dev is null ,then qemu will be quit.
> We think ovdk is just a network devices, should not cause an exit .


It is called like this:
    if (vhost_ops && vhost_ops->vhost_set_vring_enable) {
        return vhost_ops->vhost_set_vring_enable(&net->dev, enable);
    }

so how can it be NULL?


> ---
>  hw/virtio/vhost-user.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/hw/virtio/vhost-user.c b/hw/virtio/vhost-user.c
> index dde094a..3a9fdf4 100644
> --- a/hw/virtio/vhost-user.c
> +++ b/hw/virtio/vhost-user.c
> @@ -387,6 +387,9 @@ static int vhost_user_set_vring_base(struct vhost_dev *dev,
>  static int vhost_user_set_vring_enable(struct vhost_dev *dev, int enable)
>  {
>      int i;
> +    if (!dev) {
> +        return -1;
> +    }
>  
>      if (!virtio_has_feature(dev->features, VHOST_USER_F_PROTOCOL_FEATURES)) {
>          return -1;
> -- 
> 1.8.3.1
>