From: "Eugenio Pérez" <eperezma@redhat.com>
To: mst@redhat.com, qemu-devel@nongnu.org
Cc: Peter Xu <peterx@redhat.com>,
Dragos Tatulea <dtatulea@nvidia.com>,
Zhu Lingshan <lingshan.zhu@intel.com>,
Jason Wang <jasowang@redhat.com>, Lei Yang <leiyang@redhat.com>,
Laurent Vivier <lvivier@redhat.com>,
si-wei.liu@oracle.com, Stefano Garzarella <sgarzare@redhat.com>,
Parav Pandit <parav@mellanox.com>
Subject: [PATCH 5/6] vdpa: reorder listener assignment
Date: Thu, 11 Jan 2024 20:02:21 +0100 [thread overview]
Message-ID: <20240111190222.496695-6-eperezma@redhat.com> (raw)
In-Reply-To: <20240111190222.496695-1-eperezma@redhat.com>
Since commit f6fe3e333f ("vdpa: move memory listener to
vhost_vdpa_shared") this piece of code repeatedly assign
shared->listener members. This was not a problem as it was not used
until device start.
However next patches move the listener registration to this
vhost_vdpa_init function. When the listener is registered it is added
to an embedded linked list, so setting its members again will cause
memory corruption to the linked list node.
Do the right thing and only set it in the first vdpa device.
Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
---
hw/virtio/vhost-vdpa.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/virtio/vhost-vdpa.c b/hw/virtio/vhost-vdpa.c
index b08349d57c..521a889104 100644
--- a/hw/virtio/vhost-vdpa.c
+++ b/hw/virtio/vhost-vdpa.c
@@ -619,7 +619,6 @@ static int vhost_vdpa_init(struct vhost_dev *dev, void *opaque, Error **errp)
v->dev = dev;
dev->opaque = opaque ;
- v->shared->listener = vhost_vdpa_memory_listener;
ret = vhost_vdpa_set_backend_cap(dev);
if (unlikely(ret != 0)) {
@@ -661,6 +660,7 @@ static int vhost_vdpa_init(struct vhost_dev *dev, void *opaque, Error **errp)
vhost_vdpa_add_status(dev, VIRTIO_CONFIG_S_ACKNOWLEDGE |
VIRTIO_CONFIG_S_DRIVER);
+ v->shared->listener = vhost_vdpa_memory_listener;
return 0;
}
--
2.39.3
next prev parent reply other threads:[~2024-01-11 19:04 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-11 19:02 [PATCH 0/6] Move memory listener register to vhost_vdpa_init Eugenio Pérez
2024-01-11 19:02 ` [PATCH 1/6] vdpa: check for iova tree initialized at net_client_start Eugenio Pérez
2024-01-31 10:06 ` Si-Wei Liu
2024-02-01 10:14 ` Eugenio Perez Martin
2024-01-11 19:02 ` [PATCH 2/6] vdpa: reorder vhost_vdpa_set_backend_cap Eugenio Pérez
2024-01-11 19:02 ` [PATCH 3/6] vdpa: set backend capabilities at vhost_vdpa_init Eugenio Pérez
2024-01-11 19:02 ` [PATCH 4/6] vdpa: add listener_registered Eugenio Pérez
2024-01-11 19:02 ` Eugenio Pérez [this message]
2024-01-11 19:02 ` [PATCH 6/6] vdpa: move memory listener register to vhost_vdpa_init Eugenio Pérez
2024-01-19 14:44 ` [PATCH 0/6] Move " Lei Yang
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=20240111190222.496695-6-eperezma@redhat.com \
--to=eperezma@redhat.com \
--cc=dtatulea@nvidia.com \
--cc=jasowang@redhat.com \
--cc=leiyang@redhat.com \
--cc=lingshan.zhu@intel.com \
--cc=lvivier@redhat.com \
--cc=mst@redhat.com \
--cc=parav@mellanox.com \
--cc=peterx@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=sgarzare@redhat.com \
--cc=si-wei.liu@oracle.com \
/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).