qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Cao jin <caoj.fnst@cn.fujitsu.com>
To: qemu-devel@nongnu.org
Cc: Dmitry Fleytman <dmitry@daynix.com>,
	Jason Wang <jasowang@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>
Subject: [Qemu-devel] [PATCH v7 08/10] vmxnet3: fix reference leak issue
Date: Mon, 14 Nov 2016 15:25:38 +0800	[thread overview]
Message-ID: <1479108340-3453-9-git-send-email-caoj.fnst@cn.fujitsu.com> (raw)
In-Reply-To: <1479108340-3453-1-git-send-email-caoj.fnst@cn.fujitsu.com>

On migration target, msix_vector_use() will be called in vmxnet3_post_load()
in second time, without a matching second call to msi_vector_unuse(),
which results in vector reference leak.

CC: Dmitry Fleytman <dmitry@daynix.com>
CC: Jason Wang <jasowang@redhat.com>
CC: Markus Armbruster <armbru@redhat.com>
CC: Michael S. Tsirkin <mst@redhat.com>

Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Dmitry Fleytman <dmitry@daynix.com>
Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
---
 hw/net/vmxnet3.c | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c
index a433cc0..45e125e 100644
--- a/hw/net/vmxnet3.c
+++ b/hw/net/vmxnet3.c
@@ -2552,21 +2552,11 @@ static void vmxnet3_put_rxq_descr(QEMUFile *f, void *pv, size_t size)
 static int vmxnet3_post_load(void *opaque, int version_id)
 {
     VMXNET3State *s = opaque;
-    PCIDevice *d = PCI_DEVICE(s);
 
     net_tx_pkt_init(&s->tx_pkt, PCI_DEVICE(s),
                     s->max_tx_frags, s->peer_has_vhdr);
     net_rx_pkt_init(&s->rx_pkt, s->peer_has_vhdr);
 
-    if (s->msix_used) {
-        if  (!vmxnet3_use_msix_vectors(s, VMXNET3_MAX_INTRS)) {
-            VMW_WRPRN("Failed to re-use MSI-X vectors");
-            msix_uninit(d, &s->msix_bar, &s->msix_bar);
-            s->msix_used = false;
-            return -1;
-        }
-    }
-
     vmxnet3_validate_queues(s);
     vmxnet3_validate_interrupts(s);
 
-- 
2.1.0

  parent reply	other threads:[~2016-11-14  7:23 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-14  7:25 [Qemu-devel] [PATCH v7 00/10] Convert msix_init() to error Cao jin
2016-11-14  7:25 ` [Qemu-devel] [PATCH v7 01/10] msix: Follow CODING_STYLE Cao jin
2016-11-14  7:25 ` [Qemu-devel] [PATCH v7 02/10] hcd-xhci: check & correct param before using it Cao jin
2016-11-17 13:48   ` Markus Armbruster
2016-11-14  7:25 ` [Qemu-devel] [PATCH v7 03/10] pci: Convert msix_init() to Error and fix callers to check it Cao jin
2017-01-10 17:54   ` Michael S. Tsirkin
2017-01-10 17:58     ` Paolo Bonzini
2017-01-10 19:21       ` Michael S. Tsirkin
2017-01-11  9:55       ` Markus Armbruster
2017-01-12 15:08         ` Michael S. Tsirkin
2017-01-12 14:58   ` Michael S. Tsirkin
2016-11-14  7:25 ` [Qemu-devel] [PATCH v7 04/10] megasas: change behaviour of msix switch Cao jin
2016-11-14  7:25 ` [Qemu-devel] [PATCH v7 05/10] hcd-xhci: " Cao jin
2016-11-14  7:25 ` [Qemu-devel] [PATCH v7 06/10] megasas: remove unnecessary megasas_use_msix() Cao jin
2016-11-14  7:25 ` [Qemu-devel] [PATCH v7 07/10] megasas: undo the overwrites of msi user configuration Cao jin
2016-11-14  7:25 ` Cao jin [this message]
2016-11-14  7:25 ` [Qemu-devel] [PATCH v7 09/10] vmxnet3: remove unnecessary internal msix flag Cao jin
2016-11-14  7:25 ` [Qemu-devel] [PATCH v7 10/10] msi_init: convert assert to return -errno Cao jin
2016-11-14 23:22 ` [Qemu-devel] [PATCH v7 00/10] Convert msix_init() to error Michael S. Tsirkin
2016-12-21  6:16 ` Cao jin
2016-12-21 10:43   ` Marcel Apfelbaum
2017-01-09 21:45 ` Michael S. Tsirkin
2017-01-10 10:06   ` Markus Armbruster
2017-01-10 14:38     ` Michael S. Tsirkin
2017-01-10 15:38       ` Paolo Bonzini
2017-01-10 16:19       ` Markus Armbruster
2017-01-10 16:28         ` Paolo Bonzini
2017-01-11 15:25   ` Cao jin

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=1479108340-3453-9-git-send-email-caoj.fnst@cn.fujitsu.com \
    --to=caoj.fnst@cn.fujitsu.com \
    --cc=armbru@redhat.com \
    --cc=dmitry@daynix.com \
    --cc=jasowang@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).