All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Wang <jasowang@redhat.com>
To: mst@redhat.com, jasowang@redhat.com, qemu-devel@nongnu.org
Cc: eperezma@redhat.com, elic@nvidia.com, lingshan.zhu@intel.com,
	lulu@redhat.com
Subject: [PATCH 08/18] vhost-vdpa: fix the wrong assertion in vhost_vdpa_init()
Date: Mon, 21 Jun 2021 12:16:40 +0800	[thread overview]
Message-ID: <20210621041650.5826-9-jasowang@redhat.com> (raw)
In-Reply-To: <20210621041650.5826-1-jasowang@redhat.com>

Vhost_vdpa_add() can fail for various reasons, so the assertion of the
succeed is wrong. Instead, we should free the NetClientState and
propagate the error to the caller

Signed-off-by: Jason Wang <jasowang@redhat.com>
---
 net/vhost-vdpa.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c
index 0da7bc347a..87b181a74e 100644
--- a/net/vhost-vdpa.c
+++ b/net/vhost-vdpa.c
@@ -174,7 +174,10 @@ static int net_vhost_vdpa_init(NetClientState *peer, const char *device,
     }
     s->vhost_vdpa.device_fd = vdpa_device_fd;
     ret = vhost_vdpa_add(nc, (void *)&s->vhost_vdpa);
-    assert(s->vhost_net);
+    if (ret) {
+        qemu_close(vdpa_device_fd);
+        qemu_del_net_client(nc);
+    }
     return ret;
 }
 
-- 
2.25.1



  parent reply	other threads:[~2021-06-21  4:20 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-21  4:16 [PATCH 00/18] vhost-vDPA multiqueue Jason Wang
2021-06-21  4:16 ` [PATCH 01/18] vhost_net: remove the meaningless assignment in vhost_net_start_one() Jason Wang
2021-06-21 11:45   ` Eli Cohen
2021-06-24  7:42     ` Jason Wang
2021-06-21  4:16 ` [PATCH 02/18] vhost: use unsigned int for nvqs Jason Wang
2021-06-21 11:46   ` Eli Cohen
2021-06-21  4:16 ` [PATCH 03/18] vhost_net: do not assume nvqs is always 2 Jason Wang
2021-06-23 14:49   ` Stefano Garzarella
2021-06-24  6:22   ` Eli Cohen
2021-06-24  7:42     ` Jason Wang
2021-06-21  4:16 ` [PATCH 04/18] vhost-vdpa: remove the unnecessary check in vhost_vdpa_add() Jason Wang
2021-06-23 14:53   ` Stefano Garzarella
2021-06-24  6:38     ` Eli Cohen
2021-06-24  7:46     ` Jason Wang
2021-06-21  4:16 ` [PATCH 05/18] vhost-vdpa: don't cleanup twice " Jason Wang
2021-06-23 14:56   ` Stefano Garzarella
2021-06-21  4:16 ` [PATCH 06/18] vhost-vdpa: fix leaking of vhost_net " Jason Wang
2021-06-23 15:00   ` Stefano Garzarella
2021-06-24  7:06     ` Eli Cohen
2021-06-24  7:10       ` Jason Wang
2021-06-24  7:32         ` Eli Cohen
2021-06-24  7:14     ` Eli Cohen
2021-06-24  7:41       ` Jason Wang
2021-06-21  4:16 ` [PATCH 07/18] vhost-vdpa: tweak the error label " Jason Wang
2021-06-23 15:03   ` Stefano Garzarella
2021-07-06  8:03     ` Jason Wang
2021-07-06  8:10       ` Jason Wang
2021-07-06  8:27         ` Stefano Garzarella
2021-07-06  8:28           ` Jason Wang
2021-06-21  4:16 ` Jason Wang [this message]
2021-06-23 15:04   ` [PATCH 08/18] vhost-vdpa: fix the wrong assertion in vhost_vdpa_init() Stefano Garzarella
2021-06-21  4:16 ` [PATCH 09/18] vhost-vdpa: remove the unncessary queue_index assignment Jason Wang
2021-06-23 15:05   ` Stefano Garzarella
2021-06-21  4:16 ` [PATCH 10/18] vhost-vdpa: open device fd in net_init_vhost_vdpa() Jason Wang
2021-06-23 15:07   ` Stefano Garzarella
2021-06-21  4:16 ` [PATCH 11/18] vhost-vdpa: classify one time request Jason Wang
2021-06-21  4:16 ` [PATCH 12/18] vhost-vdpa: prepare for the multiqueue support Jason Wang
2021-06-21  4:16 ` [PATCH 13/18] vhost-vdpa: let net_vhost_vdpa_init() returns NetClientState * Jason Wang
2021-06-21  4:16 ` [PATCH 14/18] net: introduce control client Jason Wang
2021-06-21  4:16 ` [PATCH 15/18] vhost-net: control virtqueue support Jason Wang
2021-06-24  7:42   ` Eli Cohen
2021-06-24  7:44     ` Jason Wang
2021-06-30 17:33   ` Eugenio Perez Martin
2021-07-01  3:03     ` Jason Wang
2021-06-21  4:16 ` [PATCH 16/18] virito-net: use "qps" instead of "queues" when possible Jason Wang
2021-06-21  4:16 ` [PATCH 17/18] virtio-net: vhost control virtqueue support Jason Wang
2021-06-21  4:16 ` [PATCH 18/18] vhost-vdpa: multiqueue support Jason Wang
2021-07-01  6:51   ` Eugenio Perez Martin
2021-07-01  8:15     ` Jason Wang
2021-07-06  7:46     ` Jason Wang
2021-06-21  4:33 ` [PATCH 00/18] vhost-vDPA multiqueue no-reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210621041650.5826-9-jasowang@redhat.com \
    --to=jasowang@redhat.com \
    --cc=elic@nvidia.com \
    --cc=eperezma@redhat.com \
    --cc=lingshan.zhu@intel.com \
    --cc=lulu@redhat.com \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.